ANALYZE
デスクリプション
このステートメントは列の統計情報を収集するために使用されます。列の統計情報は、Table(特定の列を指定可能)またはデータベース全体に対して収集できます。
Syntax
ANALYZE {TABLE <table_name> [ (<column_name> [, ...]) ] | DATABASE <database_name>}
[ [ WITH SYNC ] [ WITH SAMPLE {PERCENT | ROWS} <sample_rate> ] ];
必須パラメータ
1. <table_name>
指定された対象Table。このパラメータと<database_name>パラメータは、そのうちの1つのみを指定する必要があり、指定できるのは1つだけです。
2. <database_name>
指定された対象データベース。このパラメータと<table_name>パラメータは、そのうちの1つのみを指定する必要があり、指定できるのは1つだけです。
オプションパラメータ
1. <column_name>
指定された対象列。
table_name内の既存の列である必要があります。カンマで区切って複数の列名を指定できます。
2. WITH SYNC
統計を同期的に収集します。収集後に戻ります。指定されない場合は、非同期で実行されます。
3. WITH SAMPLE {PERCENT | ROWS} <sample_rate>
収集にサンプリング方法を使用することを指定します。指定されない場合、全収集がデフォルトです。<sample_rate>はサンプリングパラメータです。PERCENTサンプリングを使用する場合は、サンプリング率を指定します。ROWSサンプリングを使用する場合は、サンプリングする行数を指定します。
戻り値
| Column | Note |
|---|---|
| Job_Id | 一意のJob Id |
| Catalog_Name | Catalogの名前 |
| DB_Name | databaseの名前 |
| Columns | columnの名前リスト |
アクセス制御要件
このSQLを実行するユーザーは、少なくとも以下の権限を持つ必要があります:
| Privilege | Object | 注釈 |
|---|---|---|
| SELECT_PRIV | Table | ANALYZEを実行する際、照会されるTableのSELECT_PRIV権限が必要です。 |
例
- Tablelineitemの10%をサンプリングして統計を収集します。
ANALYZE TABLE lineitem WITH SAMPLE PERCENT 10;
- Tablelineitemから100,000行をサンプリングして統計情報を収集する。
ANALYZE TABLE lineitem WITH SAMPLE ROWS 100000;