16.20 - 最適化ルーチンによるインデックス利用の決定方法 - Teradata Vantage NewSQL Engine

Teradata Vantage™ 地理空間データ型

prodname
Teradata Database
Teradata Vantage NewSQL Engine
vrm_release
16.20
category
プログラミング リファレンス
featnum
B035-1181-162K-JPN

Teradata Optimizerは、問合わせ実行に使用するデータ パスの選択肢間でコストと利益を比較検討します。

問合せを実行するテーブルにセカンダリ インデックスが定義されている合、最適化ルーチンはこのインデックスを使用することにより、よりコストのかかるフル テーブル スキャンを実行せずに済みます。インデックスを利用することで、最適化ルーチンは述部の条件による検討すべき行数を削減でき、その結果、通常、必要なデータへのアクセス速度が向上します。

インデックスの使用により検索すべきデータ量は削減できますが、付加的な行IDスプールの書き込み、読み込み、および操作のためインデックスの使用にはコストがかかります。

最適化ルーチンは、次のような要素により利用可能なインデックスを使用するかどうか判断します。
  • 単一テーブル述部の選択性により、その表で選択される行数が決定します。これにより、行IDスプールのカーディナリティが決定します。最適化ルーチンは、インデックスを使用して、より選択性の高い単一テーブル述部の問合わせを満たす傾向が強いです。

    最適化ルーチンが述部の選択性を決定する精度は、統計が地理空間列から収集されたかどうか、また、収集された統計が現在のデータ デモグラフィックを反映しているかどうかに依存します。

  • Row ID Spool(行IDスプール)行のサイズ。これは選択性リストまたはWHERE句にある列数に依存します。この要素は、選択性とともに行IDスプール中に含まれるIOブロック数を決定します。
  • テーブル行のサイズ。一般に、最適化ルーチンがインデックスを使用した場合、行が大きいほどコスト効率が上がります。

Teradata Optimizerが問合わせに対して実行パスを選択する方法についての詳細は、<Teradata Vantage™ SQLリクエストおよびトランザクション処理、B035-1142>を参照してください。