SQLでテーブルの領域使用量を照会する方法
SQLではシステムテーブルを使ってテーブルの占有領域を調べることができます。DBMSによってシステムテーブルやクエリ文法は異なりますが、代表的なDBMSの例を以下に示します。
- MySQL:
SELECT table_name AS '表名',
round(((data_length + index_length) / 1024 / 1024), 2) AS '占用空间(MB)'
FROM information_schema.tables
WHERE table_schema = '数据库名'
AND table_name = '表名';
- オラクル:
SELECT segment_name AS "表名",
round((bytes / 1024 / 1024), 2) AS "占用空间(MB)"
FROM user_segments
WHERE segment_type = 'TABLE'
AND segment_name = '表名';
- SQL サーバー:
EXEC sp_spaceused '表名';
上の例では、データベース名とテーブル名は実際のデータベース名とテーブル名に置き換えてください。