Home » database » SQL動作のメカニズム

SQL動作のメカニズム

SQL動作のメカニズムは以下のようになります

大きく解析フェーズと実行フェーズで考えることができます

sql-mechanism

 

解析フェーズ

SQLが発行されると、解析が行われますが、その前に、使用されたことがあるSQLかどうか調べます。同じSQLであれば、メモリ内の共有SQL領域上に存在しいます。

 

存在していれば、わざわざ解析する必要がありませんのでハードパースと言われる解析は行われません。頻繁に解析が行われるようだとパフォーマンス低下の要因になります。

 

実行フェーズ

実行フェーズでは、扱うデータがメモリ上のデータベースバッファキャッシュに存在するかどうかを調べます。存在すれば、メモリ上のデータを読むだけなので早いですが、メモリ上に存在しない場合はディスクを読むことになります。

 

できるだけ、メモリ上のデータを扱うような構成にすることが重要です

 

SQLが実行計画に基づいて実行されます

 

データ量の増大など環境の変化によって実行計画が変化します

 

この変化がレスポンスが良い方向に変化する場合はいいですが、レスポンスが悪くもなります

 

この勝手に変化してしまうことを制御するのがSPMという考え方です