Sybase 12.7 ジョイン・インデックスの使用, 削除のための十分なディスク領域の確保, パフォーマンス&チューニング・ガイド, WHERE c.custkey = o.custkey

Models: 12.7

1 212
Download 212 pages 60.16 Kb
Page 155
Image 155
SELECT c.name, SUM(l.price * (1 - l.discount))

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 >= "1994-01-01"

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

Page 155
Image 155
Sybase 12.7 manual ジョイン・インデックスの使用, 削除のための十分なディスク領域の確保, パフォーマンス&チューニング・ガイド, SELECT c.name, SUMl.price * 1 - l.discount