ここではORACLEデータベースで、テーブルの一覧やサイズを確認するSQLを紹介しています。
テーブルの一覧を確認するSQL
テーブルの一覧は、DBA_TABLESを参照することで確認できます。
(ログインユーザにがアクセス可能なテーブルのみを確認する場合はALL_TABLESを参照します。)
select
OWNER --テーブルの所有者
,TABLE_NAME --テーブル名
,TABLESPACE_NAME --表領域名
from
ALL_TABLES a
order by
TABLE_NAME
;
テーブルのサイズを確認するSQL
テーブルのサイズを確認するにはDBA_SEGMENTSを参照します。
DBA_SEGMENTSのBYTESには、オブジェクトに対して割り当てられたサイズが確認できます。
(ログインユーザにがアクセス可能なオブジェクトのみを確認する場合はALL_SEGMENTSを参照します。)
SELECT
OWNER
,SEGMENT_NAME
,SEGMENT_TYPE
,BYTES
FROM
DBA_SEGMENTS
;
DBA_SEGMENTSの主な列の意味は次の通りです。
・OWNER
セグメント所有者のユーザー名
・SEGMENT_NAME
セグメントがある場合、その名前
・PARTITION_NAME
オブジェクト・パーティション名(非パーティション・オブジェクトの場合はNULL)
・SEGMENT_TYPE
セグメントのタイプ:
NESTED TABLE、TABLE、TABLE PARTITION、CLUSTER、LOBINDEX
INDEX、INDEX PARTITION、LOBSEGMENT、TABLE SUBPARTITION
INDEX SUBPARTITION、LOB PARTITION、LOB SUBPARTITION
ROLLBACK、TYPE2 UNDO、DEFERRED ROLLBACK、TEMPORARY
CACHE、SPACE HEADER、UNDEFINED
・BYTES
バイト単位のサイズ
まとめ
テーブルの一覧やレコード件数はDBA_TABLESで確認できます。
テーブルのサイズはDBA_SEGMENTSで確認できます。
この他にも便利なSQLがあるのでぜひ使ってみてください。
・【SQL】スキーマ(ユーザ)の一覧を確認する方法
・【SQL】テーブルの一覧を確認する方法
・【SQL】データ・レコード件数の多いテーブルを確認する方法
・【SQL】パーティションテーブルの一覧を確認する方法
・【SQL】表のパーティションごとの件数を確認する方法
・【SQL】パーティションテーブルの設定内容を確認する方法