■ はじめに
* DBパフォーマンスを行うためには、 まず、どのような工程でSQL文が実行されるかを知ることが重要となってくる
目次
【1】SQL文が実行されるまでの工程 1)SQL文の解析処理(PARSE) 2)SQL文の書き換え 3)実行プランの作成 【3】クエリ・オプティマイザ 1)オプティマイザのモード
【1】SQL文が実行されるまでの工程
http://itpro.nikkeibp.co.jp/article/COLUMN/20060111/227097/thumb_200_zu1.jpg
1)SQL文の解析処理(PARSE) 2)SQL文の書き換え 3)実行プランの作成
http://itpro.nikkeibp.co.jp/article/COLUMN/20060111/227100/
1)SQL文の解析処理(PARSE)
入力されたSQL文に対して、以下のようなチェックを行う。 * SQL文が文法的に正しいかどうかをチェック * 文の構造を把握 * SQL文に指定したテーブルやフィールドが実際に存在するかどうかをチェック * ユーザーがそれらに対するアクセス権限を持っているかどうかをチェック
2)SQL文の書き換え
* SQL文をより高速に実行できるように書き換える
3)実行プランの作成
実行プランとは?
* SQLの結果を得るために、 その過程のアクセス方法や順番を示したもの。 →つまり、SQL文をどのように処理するのかを表したもの。
【2】クエリ・オプティマイザ
* クエリ・オプティマイザ (Query Optimizer. Optimization=最適化. 以下、オプティマイザ)は、 入力されたクエリについて、考えられる個々の実行計画のコストを見積もり、 最もコストの低い計画を選ぶ機能
1)オプティマイザのモード
a)オプティマイザのモード
データの状態にかかわらず、規定されたルールに基づいて、 実行プランを生成する
b)コストベース
統計情報を基にして、 実行されるSQL文の処理にかかるコストを判断し、 コストが最小となる実行プランを生成する
関連記事
パフォーマンスの良いSQLを記述 ~全般編~
https://dk521123.hatenablog.com/entry/2010/08/06/110122