目的
以前にチェックポイントを指定したINITIATE INDEX ANALYSISまたはRESTART INDEX ANALYSISリクエストによって開始してから停止したインデックス分析を再始動します。
- COLLECT DEMOGRAPHICS
- COLLECT STATISTICS(QCD形式)
- INITIATE INDEX ANALYSIS
- INSERT EXPLAIN
- Teradata Vantage™ SQLリクエストおよびトランザクション処理、B035-1142
- Teradata® Index Wizardユーザー ガイド、B035-2506
必要な権限
RESTART INDEX ANALYSISリクエストを実行するために必要な権限は、次のとおりです。
必要な権限 | データベースQCD_nameに含まれるテーブル セット |
---|---|
INSERT |
|
|
AnalysisLog |
チェックポイントを指定したINITIATE INDEX ANALYSISリクエストを実行したユーザーが、RESTART INDEX ANALYSISリクエストを実行する必要があります。
構文
構文要素
- workload_name
- インデックス分析を再始動するワークロードの名前を指定します。
- QCD_name
- workload_nameのある問合わせキャプチャ データベースの名前を指定します。
- index_name_tag
- 再始動されるインデックス分析の名前を指定します。
- CHECKPOINT checkpoint_trigger
- 問合わせを何回実行した後にチェックポイント スナップショットを取るかを指定します。
- TIME LIMIT = elapsed_time
- この再始動したインデックス分析を完了させる最大経過時間(分)を指定します。
ANSI準拠
RESTART INDEX ANALYSISは、ANSI SQL:2011規格のTeradata拡張機能です。
呼び出し
通常は、Teradata Index Wizardユーティリティを使用して呼び出されます。
RESTART INDEX ANALYSISの実行ルール
RESTART INDEX ANALYSISのルールは、INITIATE INDEX ANALYSISを使用する際のルールと同じです。詳細については、INITIATE INDEX ANALYSISを実行する場合のルールを参照してください。
RESTART INDEX ANALYSISにはチェックポイントが必要
INITIATE INDEX ANALYSISリクエストにCHECKPOINT句を指定しないと、以前に停止したインデックス分析を再始動できません。
以前に時間切れになったINITIATE INDEX ANALYSISリクエストの結果に不満があり、より良い結果を得るために分析を延長する場合、CHECKPOINTを指定することで、INITIATE INDEX ANALYSISリクエスト全体を最初から再実行するのではなく、停止した時点から分析を再始動できます。
RESTART INDEX ANALYSISで実行されるアクション
RESTART INDEX ANALYSISはINITIATE INDEX ANALYSISのように機能しますが、RESTART INDEX ANALYSISによる分析は、AnalysisLogテーブルにロギングされたチェックポイントではない、ワークロード内の最初のSQLリクエストから始まる点が違います。
何らかの理由で再始動が完了せずにアボートすると、次のRESTART INDEX ANALYSISリクエストによる分析は、AnalysisLogテーブル内にチェックポイントとしてロギングされていない、ワークロード内の最初のSQLリクエストから始まります。
再始動が正常に完了すると、指定されたQCDのIndexRecommendationsテーブルにインデックスの推奨事項が書き込まれます。
マクロでサポートされないRESTART INDEX ANALYSIS
RESTART INDEX ANALYSISリクエストを、マクロから指定してはいけません。RESTART INDEX ANALYSISリクエストが含まれるマクロを実行すると、Teradata Databaseはそのリクエストをアボートし、エラーを返します。
例: CHECKPOINTがあるインデックス分析
システムにMyQCDという名前の問合わせキャプチャ データベースがあるとします。MyWorkloadのMyQCDという名前のワークロードは100個のSQLリクエストから成ります。以下のSQLリクエストを実行すると、CHECKPOINT句の指定に基づき、インデックス分析の情報が10個のSQLリクエストごとに保存されます。
INITIATE INDEX ANALYSIS ON tab1 FOR MyWorkload IN MyQCD AS table_1Index CHECKPOINT 10;
55番目のSQLリクエストの処理中にデータベースが再始動されたとします。この場合、システムでは、先頭から50個分の処理済みのSQLリクエストに関する情報が記録されます。
以下のSQLリクエストを実行すると、分析が51番目のSQLリクエストから行なわれます。
RESTART INDEX ANALYSIS FROM MyWorkload IN MyQCD AS table1_Index;
例: CHECKPOINTがないインデックス分析
この例でも、システムにMyQCDというQCDがあり、MyWorkloadという名前のワークロードが100個のSQLリクエストから成るとします。
以下のSQLリクエストにはチェックポイントが指定されていないので、追加情報はMyQCDのAnalysisLogテーブルに書き込まれません。
INITIATE INDEX ANALYSIS ON tab1 FOR MyWorkload IN MyQCD AS table_1Index;
この例でも、55番目のSQLリクエストの処理中にデータベースが再始動されたとします。
指定されたインデックス分析名table_1Indexのチェックポイント分析に関する行がAnalysisLog内にないので、以下のSQLリクエストはエラーを返します。
RESTART INDEX ANALYSIS FROM MyWorkload IN MyQCD AS table_1Index; *** Failure 5669 No restart information found for specified index analysis ‘table_1Index'.