
6-4
本章の最初にも述べたように、統計情報はテーブルやインデックスなど「データ」
についてのデータ、すなわち「メタデータ」です。DBMS はこのメタデータを頼り
にSQLのアクセスパスを決定します。その具体的なプロセスには、ユーザーは基
本的に関わらないため
、SQLがどのようなアクセスパスで実行されるか、とい
う問題には、ユーザーは統計情報を通してのみ関与することになります。
そこでまずは、統計情報に関する設計指針を理解するに当たり、DBMS がどのよ
うにして内部的に SQL を扱っているか、ということから学習しましょう。
DBMSがSQL文——SELECT文やDELETE文などのあらゆる種類のSQL文——
を受け取ると、テーブルにアクセスするまでに図 6-8 のような流れをたどります。
まず、ユーザーから何らかの形でSQL文が DBMSへ発行されます()。する
と、最初にこのSQL を受け取るのは、DBMS内の「パーサ(parser)」と呼ばれる
モジュールです。これの役割は、SQL 文が適法な構文であるかどうかチェックする
ことです。文法的に間違っているSQL 文は実行できませんから、そういうSQL は
エラーとしてユーザーに突き返す必要があります(「parse」は「解析する」という
意味です)。いわば、パーサはDBMS の門番に当たります。
パーサによるチェックが済むと、次に SQL は「オプティマイザ(optimizer)」と
いうモジュールへ送られ ...