
第 5 章 システム・リソースの管理
ジョイン・クエリの WHERE 句で参照されるグループ化カラムの LF または HG に対しては、デフォルト・インデックス以外に LF または HG インデック スを作成する必要があります。WHERE 句で参照されるカラムに LF または HG インデックスが設定されていない場合は、Sybase IQ のクエリ・オプティ マイザが最適な実行プランを生成できない可能性があります。HAVING 句で参 照される非集合カラムでも、デフォルト・インデックス以外に LF または HG インデックスを設定する必要があります。次に例を示します。
SELECT c.name, SUM(l.price * (1 - l.discount))
FROM customer c, orders o, lineitem l
WHERE c.custkey = o.custkey
AND o.orderkey = l.orderkey
AND o.orderdate >=
AND o.orderdate < "1995-01-01"
GROUP by c.name
HAVING c.name NOT LIKE "I%"
AND SUM(l.price * (1 - l.discount)) > 0.50
ORDER BY 2 desc
この例に示す l.price と l.discount の近くにあるすべてのカラムには、デフォ ルト・インデックス以外に、LF または HG インデックスがあります。
ジョイン・インデックスの使用
ユーザは同時に複数のテーブルのデータを参照することがよくあります。この データは、クエリ作成時にジョインするか、またはジョイン・インデックスを 作成することによって事前にジョインできます。常に同じ方法でジョインされ るカラムにジョイン・インデックスを作成すると、クエリのパフォーマンスが 向上することがあります。
ジョイン・インデックスのロードには、かなりの時間と領域が必要なため、定 期的に必要となるジョインにのみジョイン・インデックスを作成します。 Sybase IQ のジョイン・インデックスでは、1 対多および 1 対 1 のジョイン関 係がサポートされます。
削除のための十分なディスク領域の確保
データ・ローを削除する場合、Sybase IQ は、削除するデータを含むデータベー ス・ページごとにバージョン・ページを作成します。削除トランザクションが 実行されるまで、バージョンは保持されます。このため、データを削除する場 合、ディスク領域の追加が必要な場合があります。詳細については、「重複し たバージョンと削除」を参照してください。
パフォーマンス&チューニング・ガイド | 139 |