Справочник Пользователя для Sybase IQ 12.7
第
2 章 テーブルのジョイン
パフォーマンス&チューニング・ガイド
25
アドホック・ジョインとジョイン・インデックスの使用
クエリで参照されるジョイン・カラムにジョイン・インデックスを定義して
いる場合、
いる場合、
Sybase IQ は自動的にそれらを使用してクエリ処理を高速化しま
す
( ジョイン・インデックスの定義については、『Sybase IQ システム管理ガ
イド』の
を参照してください
)。
ジョイン・インデックスを使用しないジョインを「アドホック・ジョイン」呼
びます。クエリでいくつものテーブルを参照しており、その中にジョイン・イ
ンデックスが定義されていないテーブルがある場合、
びます。クエリでいくつものテーブルを参照しており、その中にジョイン・イ
ンデックスが定義されていないテーブルがある場合、
Sybase IQ は定義されて
いるテーブルではジョイン・インデックスを、それ以外のテーブルではアド
ホック・ジョインを使用します。
ホック・ジョインを使用します。
可能なすべてのジョインに対してジョイン・インデックスを作成することはで
きないため、ときにはアドホック・ジョインが必要になることがあります。
Sybase IQ の最適化によって、クエリはジョイン・インデックスなしでも同等
かそれ以上のパフォーマンスで実行されます。
きないため、ときにはアドホック・ジョインが必要になることがあります。
Sybase IQ の最適化によって、クエリはジョイン・インデックスなしでも同等
かそれ以上のパフォーマンスで実行されます。
ジョイン・インデックスの作成には、次の制約があります。
•
インデックス内では、完全な外部ジョインだけがサポートされます。クエ
リは、インデックス付けされている場合、内部、左外部、右外部のジョイ
ンになります。
リは、インデックス付けされている場合、内部、左外部、右外部のジョイ
ンになります。
完全な外部ジョインでは、指定された左右両方のテーブルのすべてのロー
が結果に含まれ、対応するカラムに一致する値がないカラムについては
NULL が返されます。
が結果に含まれ、対応するカラムに一致する値がないカラムについては
NULL が返されます。
•
ジョイン述部の
ON 句で使用できる比較演算子は EQUALS だけです。
•
ON 句の代わりに NATURAL キーワードを使用できますが、1 対のテーブ
ルしか指定できません。
ルしか指定できません。
•
ジョイン・インデックス・カラムはいずれも同じデータ型、精度、位取り
でなければなりません。
でなければなりません。
ジョインとデータ型
最適なパフォーマンスを得るには、ジョイン・カラムを類似のデータ型にする
必要があります。
必要があります。
Sybase IQ では、暗黙の変換が存在する任意のデータ型でア
ドホック・ジョインを行うことができます。ただし、ジョイン・カラムのデー
タ型が同じでない場合は、データ型とテーブルのサイズによって、パフォーマ
ンスがさまざまな範囲で低下する可能性があります。たとえば、
タ型が同じでない場合は、データ型とテーブルのサイズによって、パフォーマ
ンスがさまざまな範囲で低下する可能性があります。たとえば、
INT を BIGINT
のカラムにジョインすることはできますが、このジョインによって特定の種類
の最適化ができなくなります。
の最適化ができなくなります。
Sybase IQ インデックス・アドバイザは、データ
型が異なるジョイン・カラムにパフォーマンス上の問題があると見なします。
暗黙のデータ型変換のテーブルについては、
『
Sybase IQ システム管理ガイド』