統計情報の収集が完了した場合、または特定のテーブルに統計情報があるかどうかを確認したい場合、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:現在のバケットの終端値の頻度。