|
ここでは、データベース エンジンが制限を分析し、最適化するために使用する 1 方法について説明します。ここで使用されている用語の定義については、用語を参照してください。
SQL ステートメントの実行中に、データベース エンジンは制限を変形論理積標準形(変形 CNF)に変換しようとします。変形 CNF への変換は、論理式を同一構造に置いて、クエリ処理の最適化のための制限の分析を容易にします。制限を変形 CNF に変換できる場合、データベース エンジンはクエリを順序立てて完全に分析し、利用可能なインデックスを有効に利用できるように最適化します。データベース エンジンが制限を変形 CNF に変換できない場合でも、制限を分析してできる限りの最適化を行います。ただし、この場合データベース エンジンは、既に変形 CNF にある制限や内部的に変形 CNF に変換することができる制限のようには、利用可能なインデックスを有効利用できないことがしばしばあります。
制限の内容によっては、データベース エンジンが変形 CNF に変換できない制限があります。次の項目のいずれかが真になる場合、制限は変形 CNF に変換されません。
データベース エンジンが制限を変形 CNF に変換できるのにそうしない場合がいくつかあります。変形 CNF 変換後に最適化を適用するよりも元の形式に適用した方が最適化による利益をより多く受けられると判断した場合、データベース エンジンは制限を変形 CNF に変換しないという選択をします。
次の項目のいずれかが真になる場合、制限は変形 CNF に変換されません。
|