PartitionRecommendationsの機能
INITIATE PARTITION ANALYSIS文によって生成され、WorkLoadID値によって識別される、推奨パーティション式を獲得します。
PartitionRecommendationsには、クエリーとテーブル行パーティション化の各組み合わせにつき1つの行が含まれています。推奨されている行パーティション化による新しい最適化ルーチン計画は、新しい行パーティション化の結果として、ワークロードのパフォーマンスにプラスまたはマイナスの影響を及ぼします。
特定の行のパーティション化が、複数の問合わせに影響を及ぼす場合、INITIATE PARTITION ANALYSISによってテーブルに複数の行が書き込まれ、影響を受ける問合わせが識別されます。推奨されているPARTITION BY式は、ExpressionText列にSQLテキストとして格納されます。
PartitionRecommendationsテーブルの定義
次のCREATE TABLEリクエストは、PartitionRecommendationsを定義しています。
CREATE SET TABLE qcd.partitionrecommendations ( WorkLoadID INTEGER NOT NULL, UserName VARCHAR128 CHARACTER SET UNICODE NOT CASESPECIFIC NOT NULL, TimeOfAnalysis TIMESTAMP(6) NOT NULL, RecommendationID INTEGER NOT NULL, QueryID INTEGER NOT NULL, ResultNameTag VARCHAR128 CHARACTER SET UNICODE NOT CASESPECIFIC NOT NULL, TableName VARCHAR128 CHARACTER SET UNICODE NOT CASESPECIFIC NOT NULL, DatabaseName VARCHAR128 CHARACTER SET UNICODE NOT CASESPECIFIC NOT NULL, TableID BYTE(6) NOT NULL, ExpressionText VARCHAR(10000) CHARACTER SET UNICODE NOT CASESPECIFIC, ExpressionType CHARACTER(1) CHARACTER SET LATIN NOT CASESPECIFIC, RecreateText VARCHAR(15000) CHARACTER SET UNICODE NOT CASESPECIFIC, OriginalCost FLOAT, NewCost FLOAT, SpaceEstimate FLOAT, TimeEstimate FLOAT, StatsDDL VARCHAR(10000) CHARACTER SET UNICODE NOT CASESPECIFIC, Remarks VARCHAR(1024) CHARACTER SET UNICODE NOT CASESPECIFIC, TimeLimitExceeded CHARACTER(1) CHARACTER SET LATIN NOT CASESPECIFIC AnalysisTimeLimit INTEGER, AnalysisData VARCHAR(2048) CHARACTER SET LATIN NOT CASESPECIFIC ) PRIMARY INDEX (WorkloadID);
PartitionRecommendationsの属性の定義
次のテーブルは、PartitionRecommendationsテーブル属性を定義しています。
属性 | 定義 |
---|---|
WorkLoadID | 分析されたワークロードの識別子。 |
UserName | パーティション分析を実行するユーザーの名前。 |
TimeOfAnalysis | この分析が完了した時刻を記録するタイムスタンプ。 |
RecommendationID | この推奨事項が属する行パーティション化推奨事項セットの識別子。 |
QueryID | この推奨事項によりプラスの影響を受ける問合わせの固有識別子。 |
ResultNameTag | RecommendationIDにより識別される推奨のセットにユーザーが割り当てた名前。 |
TableName | 行パーティション化の推奨が行なわれているテーブルの名前。 |
DatabaseName | TableNameを含むデータベースの名前。 |
TableID | TableNameの固有の内部識別子。 |
ExpressionText | 推奨されたPARTITION BY式のSQLテキスト。 |
ExpressionType | ExpressionTextによって使用されるパーティション化の形式。 Rの場合、パーティション式はRANGE_N関数から構築されます。 |
RecreateText | 推奨されているパーティション式でテーブルを再作成する文のSQLテキスト。 この文では、テーブルにデータが埋め込まれているため、現在の行を別のテーブルに一時的に格納する必要があることを前提としています。 SQLリクエストがシステム要件を満たしていることを最初に検証してから、そのリクエストを実行してください。詳細は、<Teradata® Index Wizardユーザー ガイド、B035-2506>を参照してください。
|
OriginalCost | 推奨事項がない場合の、問合わせを実行するためのミリ秒単位の見積もりコスト。 |
NewCost | 推奨事項がある場合の、問合わせを実行するためのミリ秒単位の見積もりコスト。 この値がOriginalCostより高い場合、推奨事項はこのクエリーにマイナスの影響を与えます。 |
SpaceEstimate | 推奨されている行パーティション化を使ってテーブルを格納するのに必要な追加の増分スペース(バイト単位)。 |
TimeEstimate | 将来の使用に備えて予約済み。 推奨されている行パーティション化を使ってテーブルを再作成するためのミリ秒単位の見積もり時間。 |
StatsDDL | 推奨されている行パーティション式で統計を収集するためのSQLテキスト。 |
Remarks | 推奨事項に関する追加の詳細。 |
AnalysisTimeLimit | 分析の期間についてユーザーが指定した期限(分単位)。 |
TimeLimitExceeded | 推奨事項が、指定されている期限が切れているINITIATE PARTITION ANALYSISリクエストによって生成されたかどうかを示します。
|
AnalysisData | 将来の使用に備えて予約済み。 |
例: PartitionRecommendations
次のINITIATE PARTITION ANALYSISリクエストが、そのリクエストに従うクエリーによって報告されるPartitionRecommendationsに登録を行ないます。
INITIATE PARTITION ANALYSIS ON recent_orders FOR MyWorkload IN MyQCD AS IPA_recent_orders; SELECT ExpressiontText FROM MyQCD.PartitionRecommendations WHERE ResultNameTag = 'IPA_recent_orders'; ExpressionText -------------- PARTITION BY RANGE_N (order_date BETWEEN DATE '2004-01-01' AND DATE '2005-12-31' EACH INTERVAL '1' MONTH)
推奨されるパーティション式の構成要素を表示する例については、RangePartExprも参照してください。