分析
説明
この文は列の統計情報を収集するために使用されます。列の統計情報は、テーブル(特定の列を指定可能)またはデータベース全体に対して収集できます。
構文
ANALYZE {TABLE <table_name> [ (<column_name> [, ...]) ] | DATABASE <database_name>}
[ [ WITH SYNC ] [ WITH SAMPLE {PERCENT | ROWS} <sample_rate> ] ];
必須パラメータ
1. <table_name>
指定されたターゲットテーブル。このパラメータと<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 | Notes |
|---|---|---|
| SELECT_PRIV | Table | ANALYZEを実行する際、照会するテーブルのSELECT_PRIV権限が必要です。 |
例
- テーブルlineitemの10%をサンプリングして統計を収集する。
ANALYZE TABLE lineitem WITH SAMPLE PERCENT 10;
- テーブルlineitemから100,000行をサンプリングして統計を収集します。
ANALYZE TABLE lineitem WITH SAMPLE ROWS 100000;