Sybase IQ 12.7 用户手册
第
5 章 システム・リソースの管理
パフォーマンス&チューニング・ガイド
143
ロードを高速化するための
UNION ALL ビューの使用
非常に大きいテーブルのロード時間を最小限にするには、
UNION ALL ビュー
を使用します。
Sybase IQ では、データを ( たとえば日付ごとに ) 複数の独立し
たベース・テーブルに分けて、テーブルを分割できます。データは、これらの
小さいテーブルにロードします。そして、
小さいテーブルにロードします。そして、
UNION ALL ビューを使ってテーブ
ルを
1 つの論理的な統一体に結合し、この統一体に対してクエリを実行します。
UNION ALL ビューは、管理が容易です。たとえば、データを月ごとに分割し
ている場合は、
ている場合は、
1 つのテーブルを削除し、UNION ALL ビューの定義を更新す
ることによって
1 か月分のデータ全体を削除できます。日付の範囲述部を追加
することなく、年、四半期などに対応する多くのビュー定義を作成できます。
UNION ALL ビューを作成するには、ベース・テーブルを別々の物理テーブル
に分割する論理的手段を選択します。最も一般的なのは、月ごとに分割する方
法です。
に分割する論理的手段を選択します。最も一般的なのは、月ごとに分割する方
法です。
たとえば、第一四半期のすべての月を含むビューを作成するには、次のコマン
ドを入力します。
ドを入力します。
CREATE VIEW
SELECT * JANUARY
UNION ALL
SELECT * FEBRUARY
UNION ALL
SELECT * MARCH
UNION ALL
SELECT * JANUARY
UNION ALL
SELECT * FEBRUARY
UNION ALL
SELECT * MARCH
UNION ALL
月ごとに、
1 つのベース・テーブル ( この例では JANUARY、FEBRUARY、ま
たは
MARCH) にデータをロードできます。次の月は、同じカラムと同じイン
デックス・タイプで構成された新しいテーブルにデータをロードします。
構文の詳細については、
『
Sybase IQ リファレンス・マニュアル』の「UNION
演算」を参照してください。
注意
UNION ALL ビューに対して INSERT...SELECT を実行することはできま
せん。
UNION ALL ビューを参照するクエリの最適化
最適化が効果を発揮するためには、
UNION ALL ビューのすべてのパーティ
ションにすべてのインデックスが定義されている必要があります。
DISTINCT を指定するクエリでは、UNION ALL ビューを使用すると、ベース・
テーブルを使用するよりも実行速度が遅くなる傾向があります。
テーブルを使用するよりも実行速度が遅くなる傾向があります。