さて,前置きが終わって連載の第1回です。今回は,いちばん基本になる“利用者がSQLを与えた時のRDBMS側の処理”についてお話ししましょう。これは人間から見える部分においては,「SQLを投げる」→「結果が投げ返される」というシンプルなことしかありません。しかし,もちろん実際には様々な処理がされているのです。
これをより細かくひもといていきますと,「サーバ内でSQLがどのように処理されるか?」という流れを理解することができます。流れを理解すれば,SQLが実行される時に起こることについても理解が深まるでしょう。
RDBMSでの処理の流れ
RDBMSにSQLが渡されたときに,実際にどのような処理がされているのかを示したのが次の図「問い合わせ実行の流れ」です。この図のように,SQLは,
- パーザで構文解釈され,
- プランナで実行計画を立て,
- エグゼキュータで実行する。
という3段階の流れによって内部的に実行されます。まずは,この大きな流れに沿って追っていき,実際にSQL文がどのように解釈され,実行されるか,大まかなところを読み解いていきます。

