削除オペレーションの最適化

削除オペレーションの最適化

通常の状況では、評価を遅らせることにメリットはなく、クエリの処理が遅く なるだけです。ただし、これによって次の 4 つの動作のいずれかをクエリ内の もっと後ろに移動できます。

最適化の前

初回の「最初のフェッチ」時

2 回目の「最初のフェッチ」時 ( 相関サブクエリの内部またはネストルー プ・プッシュダウン・ジョインの左側のみ )

インデックスの不使用 ( 水平処理 )

構文、パラメータ、使用例については、『Sybase IQ リファレンス・マニュアル』 の「第 3 SQL 言語の要素」「ユーザ指定の条件ヒント文字列」を参照し てください。

削除オペレーションの最適化

Sybase IQ は、削除オペレーションを処理するために次の 3 つのアルゴリズム から 1 つを選択します。

スモール・デリート

スモール・デリートでは、非常に少数のグループからローを削除するとき に最適なパフォーマンスが得られます。通常は、削除するローが 1 つだけ か、HG (High_Group) インデックスを持つカラムに等号述部がある場合に 選択されます。スモール・デリート・アルゴリズムは、HG にランダムに アクセスできます。最悪の場合、I/O はアクセスされるグループの数に比 例します。

ミッド・デリート

ミッド・デリートでは、いくつかのグループからローを削除するときに最 適なパフォーマンスが得られます。ただし、それらのグループが十分に分 散されているか、十分に少なくて、あまり多くの HG ページがアクセスさ れないことが条件です。ミッド・デリート・アルゴリズムは、HG への順 序付けられたアクセスを提供します。最悪の場合、I/O はインデックス・ ページ数によって制限されます。ミッド・デリートは、削除するレコード のソートという追加的なコストを伴います。

ラージ・デリート

ラージ・デリートでは、多数のグループからローを削除するときに最適な パフォーマンスが得られます。ラージ・デリートでは、すべてのローが削 除されるまで HG が順番にスキャンされます。最悪の場合、I/O はインデッ クス・ページ数によって制限されます。ラージ・デリートは並列処理です が、並列処理はインデックスの内部構造および削除対象のグループの分散 度によって制限されます。HG カラムの範囲述部を使用して、ラージ・デ リートのスキャン範囲を狭めることができます。

40

Sybase IQ

Page 56
Image 56
Sybase 12.7 manual 削除オペレーションの最適化, •スモール・デリート, •ミッド・デリート, ラージ・デリート, Sybase IQ