説明
このステートメントは、テーブルまたはテーブルパーティションの統計情報を収集するために使用されます。
構文
ANALYZE
TABLE [ schema. ]table_name
[ PARTITION (partition) | SUBPARTITION (subpartition) ]
{ compute_statistics_clause | estimate_statistics_clause } ;
compute_statistics_clause:
COMPUTE STATISTICS [ for_clause ]
estimate_statistics_clause:
ESTIMATE STATISTICS [ for_clause ]
[ SAMPLE integer { ROWS | PERCENT } ]
for_clause:
FOR
TABLE
| ALL [ INDEXED | HIDDEN ] COLUMNS [ SIZE integer ]
| COLUMNS [ SIZE integer ]
{ column | attribute } [ SIZE integer ]
[ { column | attribute }
[ SIZE integer ]
]
[ FOR
{ TABLE
| ALL [ INDEXED | HIDDEN ] COLUMNS
[ SIZE integer ]
| COLUMNS [ SIZE integer ]
{ column | attribute } [ SIZE integer ]
[ { column | attribute }
[ SIZE integer ]
]...
}
]...
パラメータの説明
| パラメータ | 説明 |
|---|---|
| schema | テーブルが属するスキーマを指定します。このパラメータを省略した場合、デフォルトは現在のスキーマになります。 |
| table_name | 分析対象のテーブルを指定します。 |
| PARTITION | SUBPARTITION | 統計情報を収集するパーティションまたはサブパーティションを指定します。指定されたパーティションが1次パーティションの場合、そのパーティション内のすべてのサブパーティションの情報も同時に分析されます。 |
| compute_statistics_clause | COMPUTE STATISTICS を指定すると、分析対象の正確な統計情報を計算し、データディクショナリに格納できます。テーブルを分析する際には、テーブルと列の両方の統計情報が同時に集計されます。 |
| for_clause | 分析対象となるテーブル全体、または特定の列のみを指定します。
|
| estimate_statistics_clause | ESTIMATE STATISTICS を指定すると、分析対象の統計情報を推定し、データディクショナリに格納できます。 |
| SAMPLE | 統計情報の推定に使用する分析対象内のサンプリングデータ量を指定します。このパラメータが省略された場合、1064行をサンプリングします。
|
例
テーブル
tbl1の統計情報を収集します。obclient> ANALYZE TABLE tbl1 COMPUTE STATISTICS; Query OK, 0 rows affectedテーブル
tbl1のすべてのインデックス列の列統計情報を収集します。obclient> ANALYZE TABLE tbl1 COMPUTE STATISTICS FOR ALL INDEXED COLUMNS SIZE 100; Query OK, 0 rows affected