統計情報の収集が完了した場合、または特定のテーブルに統計情報が存在するかどうかを確認したい場合、OceanBaseデータベースのオプティマイザーは、各種統計情報を照会するための豊富なビューを提供します。
インデックスおよびテーブルレベルの統計情報の確認
テーブルレベルおよびインデックスレベルの統計情報については、以下のビューを照会することで取得できます。
| モード | ビュー名 | 説明 |
|---|---|---|
| Oracle | ALL_TAB_STATISTICS |
テーブルレベルの統計情報を照会するために使用されます。 |
| Oracle | DBA_TAB_STATISTICS |
テーブルレベルの統計情報を照会するために使用されます。 |
| Oracle | USER_TAB_STATISTICS |
テーブルレベルの統計情報を照会するために使用されます。 |
| Oracle | ALL_IND_STATISTICS |
インデックスの統計情報を照会するために使用されます。 |
| Oracle | DBA_IND_STATISTICS |
インデックスの統計情報を照会するために使用されます。 |
| Oracle | USER_IND_STATISTICS |
インデックスの統計情報を照会するために使用されます。 |
| MySQL | OCEANBASE.DBA_TAB_STATISTICS |
テーブルレベルの統計情報を照会するために使用されます。 |
| MySQL | OCEANBASE.DBA_IND_STATISTICS |
インデックスの統計情報を照会するために使用されます。 |
このビューにおいて注意すべきフィールドは以下の通りです:
NUM_ROWS:テーブルまたはインデックスの総行数。AVG_ROW_LEN:テーブルの平均行長。LAST_ANALYZED:収集時刻。NULLではない場合、そのテーブルまたはインデックスの統計情報が収集されたことを示します。STATTYPE_LOCKED:テーブル統計情報がロックされているかどうか。NULLではない場合、そのテーブル統計情報がロックされていることを示します。
列レベルの統計情報の確認
列レベルの統計情報については、以下のビューを照会することで取得できます。
| モード | ビュー名 | 説明 |
|---|---|---|
| Oracle | ALL_TAB_COL_STATISTICS |
GLOBALカラムレベルの統計情報を照会するために使用されます。 |
| Oracle | DBA_TAB_COL_STATISTICS |
GLOBALカラムレベルの統計情報を照会するために使用されます。 |
| Oracle | USER_TAB_COL_STATISTICS |
GLOBALカラムレベルの統計情報を照会するために使用されます。 |
| Oracle | ALL_PART_COL_STATISTICS |
PARTITIONカラムレベルの統計情報を照会するために使用されます。 |
| Oracle | DBA_PART_COL_STATISTICS |
PARTITIONカラムレベルの統計情報を照会するために使用されます。 |
| Oracle | USER_PART_COL_STATISTICS |
PARTITIONカラムレベルの統計情報を照会するために使用されます。 |
| Oracle | ALL_SUBPART_COL_STATISTICS |
SUBPARTITIONカラムレベルの統計情報を照会するために使用されます。 |
| Oracle | DBA_SUBPART_COL_STATISTICS |
SUBPARTITIONカラムレベルの統計情報を照会するために使用されます。 |
| Oracle | USER_SUBPART_COL_STATISTICS |
SUBPARTITIONカラムレベルの統計情報を照会するために使用されます。 |
| MySQL | OCEANBASE.DBA_TAB_COL_STATISTICS |
GLOBALカラムレベルの統計情報を照会するために使用されます。 |
| MySQL | OCEANBASE.DBA_PART_COL_STATISTICS |
PARTITIONカラムレベルの統計情報を照会するために使用されます。 |
| MySQL | OCEANBASE.DBA_SUBPART_COL_STATISTICS |
SUBPARTITIONカラムレベルの統計情報を照会するために使用されます。 |
このビューにおいて注意すべきフィールドは以下の通りです:
NUM_DISTINCT:列のNDV(一意な値の数)。LOW_VALUE:列の最小値。HIGH_VALUE:列の最大値。DENSITY:列の疎密度。ヒストグラムに関連します。NUM_NULLS:列のNULL値の数。NUM_BUCKETS:ヒストグラムのバケット数。LAST_ANALYZED:収集時刻。NULLではない場合、その列の統計情報が過去の特定の時点で収集されたことを示します。SAMPLE_SIZE:今回の統計情報収集で参照したデータ行数。AVG_COL_LEN:平均列長。HISTOGRAM:ヒストグラムのタイプ。NULLではない場合、その列にヒストグラムが収集されていることを示します。
カラムのヒストグラム統計情報の取得
ヒストグラム統計情報については、以下のビューを照会することで取得できます。
| モード | ビュー名 | 説明 |
|---|---|---|
| Oracle | ALL_TAB_HISTOGRAMS |
GLOBALカラムレベルのヒストグラム情報を照会するために使用されます |
| Oracle | DBA_TAB_HISTOGRAMS |
GLOBALカラムレベルのヒストグラム情報を照会するために使用されます |
| Oracle | USER_TAB_HISTOGRAMS |
GLOBALカラムレベルのヒストグラム情報を照会するために使用されます |
| Oracle | ALL_PART_HISTOGRAMS |
PARTITIONカラムレベルのヒストグラム情報を照会するために使用されます |
| Oracle | DBA_PART_HISTOGRAMS |
PARTITIONカラムレベルのヒストグラム情報を照会するために使用されます |
| Oracle | USER_PART_HISTOGRAMS |
PARTITIONカラムレベルのヒストグラム情報を照会するために使用されます |
| Oracle | ALL_SUBPART_HISTOGRAMS |
SUBPARTITIONカラムレベルのヒストグラム情報を照会するために使用されます |
| Oracle | DBA_SUBPART_HISTOGRAMS |
SUBPARTITIONカラムレベルのヒストグラム情報を照会するために使用されます |
| Oracle | USER_SUBPART_HISTOGRAMS |
SUBPARTITIONカラムレベルのヒストグラム情報を照会するために使用されます |
| MySQL | OCEANBASE.DBA_TAB_HISTOGRAMS |
GLOBALカラムレベルのヒストグラム統計情報を照会するために使用されます |
| MySQL | OCEANBASE.DBA_PART_HISTOGRAMS |
PARTITIONカラムレベルのヒストグラム情報を照会するために使用されます |
| MySQL | OCEANBASE.DBA_SUBPART_HISTOGRAMS |
SUBPARTITIONカラムレベルのヒストグラム情報を照会するために使用されます |
このビューにおいて注意すべきフィールドは以下の通りです:
ENDPOINT_NUMBER:現在のバケットまでに累積されたカラムの総行数。ENDPOINT_ACTUAL_VALUE:現在のバケットの終了値に対応する出力される文字の実際の値。ENDPOINT_REPEAT_COUNT:現在のバケットの終了値の頻度。