17.10 - 例: FOR CURRENTオプションによるUSINGオプションの無効化 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ定義言語 構文規則および例

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1144-171K-JPN
Language
日本語 (日本)

FOR CURRENTオプションは、現行のリクエストについては既存のUSINGオプションを無効化しながら、それらのオプションを今後のリクエストに引き続き使用する場合に利用できます。

例えば、ある表で大量の更新または削除が行なわれているため、現時点で有効なTHRESHOLDオプションを無視して、現在のリクエストでの統計の再収集を強制したい場合は、NO THRESHOLD FOR CURRENTオプションを指定すると、統計の再収集を強制できます。その後の再収集には、以前のTHRESHOLDオプションがそのまま適用されます。

次に示す各例は、この機能についての説明です。

最初のリクエストでは、orders.o_orderkeyについての現在の統計の再収集に、ユーザー指定のサンプル割合SAMPLE 75 PERCENTを使用します。データベースは、既存のUSINGオプションを保持して、そのオプションを今後の再収集に使用します。

     COLLECT STATISTICS
     USING SAMPLE 75 PERCENT FOR CURRENT
     COLUMN o_orderkey
     ON orders;

次のリクエストでは、既存のTHRESHOLDオプションを無視して、orders.o_orderdatetimeについての統計の再収集を強制します。

既存のUSINGオプションは、その後のorders. o_orderdatetimeについての再収集で引き続き使用されます。

     COLLECT STATISTICS
     USING NO THRESHOLD FOR CURRENT
     COLUMN o_orderdatetime
     ON orders;