Sybase 12.7 Home Theater System User Manual


 
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
月ごとに、1 つのベース・テーブル ( この例では JANUARYFEBRUARY、ま
たは MARCH) にデータをロードできます。次の月は、同じカラムと同じイン
デックス・タイプで構成された新しいテーブルにデータをロードします。
構文の詳細については、Sybase IQ リファレンス・マニュアル』の「UNION
演算」を参照してください。
注意 UNION ALL ビューに対して INSERT...SELECT を実行することはできま
せん。
UNION ALL ビューを参照するクエリの最適化
最適化が効果を発揮するためには、UNION ALL ビューのすべてのパーティ
ションにすべてのインデックスが定義されている必要があります。
DISTINCT を指定するクエリでは、UNION ALL ビューを使用すると、ベース・
テーブルを使用するよりも実行速度が遅くなる傾向があります。