「DBアタマアカデミー 第4回」

 技術評論社のサイトに「DBアタマアカデミー 第4回」が掲載されました。今回取り上げたのは、クエリ評価エンジンと実行計画について。

 RDBMS の大きな特徴は、それがユーザに手続きを考えさせることを止めさせたことです。SQL は宣言型言語と呼ばれていますが、これはデータアクセスの方法(How)を記述せず、対象(What)だけを記述する言語という意味です。これは人間にとっては楽なことですが、アプリケーションは How だけでは何も出来ないので、これを手続き型言語に解釈しなおすことが必要になります。このタスクを受け持つのがクエリ評価エンジンです。

 このエンジンの中で最も重要なのが、最適なアクセスパスを見つけ出すオプティマイザというモジュールです。こいつがどれだけ賢いかで DBMS のパフォーマンスが決まると言って過言ではありません。でも、ぶちゃっけて言うと、DBMS によらずこいつはあまり頭良くありません。いや、こんな言い方すると日夜改良に勤しんでおられるベンダの開発者が傷ついちゃうでしょうけど、現場のエンジニアは、オプティマイザが頼りにならないので、仕方なく実行計画を読んで、ダメなところを直すために逆に SQL を修正しているのです。何なんだ一体、という風に思ってしまうのは、許していただきたい。

 そんなわけで、2/24 発売の次号では、実際にパフォーマンスチューニングを行うときのフローについてまとめています。こちらも併せて読んでいただけると幸いです。