17.00 - 17.05 - 結合インデックスでの統計収集 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ定義言語 詳細トピック

Product
Advanced SQL Engine
Teradata Database
Release Number
17.00
17.05
Release Date
2020年6月
Content Type
プログラミング リファレンス
Publication ID
B035-1184-170K-JPN
Language
日本語 (日本)

単一テーブル結合インデックスと複数テーブルの結合インデックスは、さまざまな点で基本的に異なるデータベース オブジェクトであり、さまざまな異なる目的のために使用されます。

ハッシュ インデックスと同様、単一テーブル結合インデックスの列統計は一般に、複数テーブルの結合インデックスでは常に必要となる別個収集ではなく、実テーブルの列から直接収集するのが最善です。

UDT列に関する統計を収集することはできません。これには、インデックスのコンポーネントであるUDT列が含まれます。コスト計算を行う場合、最適化ルーチンは、UDT列の等価述部に動的AMPサンプリング情報を使用し、UDTインデックスの他の述部にはデフォルトの選択性を使用します。動的AMPサンプリングは、インデックスに関する限定的な統計情報を提供します。たとえば、これはnullまたはばらつきを検出できません。UDTインデックスのアクセス パスでパフォーマンスの向上が見られない場合、そのストレージおよび保守に関係したオーバーヘッドを回避するためにインデックスを削除することを考慮する必要があります。

この指針における重要な例外は、複雑な式に単一テーブル結合インデックスが定義されていて、関連する基本テーブル列に対して行なわれるクエリーの述部式としてもこの式が頻繁に指定される場合です。この場合、複雑な式は、述部の左側の単純な列参照以外のものを指定する式として定義されています。

常に、結合インデックスに関する統計の収集および再収集時にSAMPLEオプションを使用することを考慮します。これらのオプション、およびその使用方法に関する推奨事項については、サンプリングによる統計の収集コストの削減を参照してください。

最適化ルーチンは、単一テーブル結合インデックスまたはハッシュ インデックス式に完全にマップできる複雑な式について収集された統計のみ使用できます。これらの式の結合インデックス列に関する統計を収集すると、述部で基本テーブルの式を指定するクエリーでの、単一テーブルのカーディナリティに関する最適化ルーチンの見積もり能力が向上します。Teradata Vantage™- SQLリクエストおよびトランザクション処理、B035-1142を参照してください。

単一テーブル結合インデックスおよび複数テーブルの結合インデックスの統計データの収集については、さまざまな推奨事項があります。それらが説明されている場所は、次の表に示すとおりです。

統計情報の収集に関する一般情報については、COLLECT STATISTICS (最適化ルーチン形式)を参照してください。