コスト効率が良ければ、最適化ルーチンは基本テーブルへのアクセスを伴う(もしくは伴わない)NUSIの走査によってLIKE式を評価します。NUSI使用のコストは、LIKE式の選択性、NUSIサブテーブルのサイズ、またNUSIがカバー インデックスか部分的なカバー インデックスかによって異なります。部分的なカバー インデックスの場合、RowIDスプールをソートするコストも含まれます。NUSIと問合わせカバーの詳細は、<Teradata Vantage™ - データベースの設計、B035-1094>を参照してください。
最適化ルーチンは、次の条件を満たす場合に、NUSIの使用と全行スキャンの使用について、優れたコスト比較を実行できるようになります。
- expression文字列の評価の対象となる基本テーブルのプライマリ インデックスとNUSI列の両方について、統計が収集されている。
- expression文字列が、基本テーブルの統計ヒストグラムの最低1つの間隔において、最頻値か最大値のどちらかである。
次の場合には、LIKE式の処理にVARCHARフィールドを持つNUSIは使用できません。
- NUSIにVARCHARフィールドが含まれ、そのVARCHARフィールドがNOT LIKE演算で使用される。
- NUSIにVARCHARフィールドが含まれ、そのVARCHARフィールドが文字列関数で使用される。例えば、d1がVARCHARタイプのNUSI列の場合、次の例は許容されていません。
d1||‘ab’ LIKE ‘b ab’
また、VARCHARフィールドを持つNUSIは、制約のない集約問合わせに対する部分的なカバー インデックスとして使用することはできません。