数据量(Data Volume)
当前模式有多少个表
SELECT COUNT(*) FROM DBA_TABLES WHERE OWNER = '你的模式名';
每个表各有多少行数据
SELECT S.TABLE_NAME,S.NUM_ROWS FROM DBA_TABLES S WHERE S.OWNER = '你的模式名'
当前模式总共有多少条数据
SELECT SUM(TABLE_1.NUM_ROWS) FROM (
SELECT S.TABLE_NAME,S.NUM_ROWS FROM DBA_TABLES S WHERE S.OWNER = '你的模式名'
) AS TABLE_1
数据大小(Data Size):
获取整个数据库的数据大小
SELECT ROUND(SUM(BYTES) / 1024 / 1024.00, 2) AS TABLE_SIZE_MB
FROM DBA_SEGMENTS
WHERE OWNER = '你的模式名' AND SEGMENT_TYPE IN ('TABLE', 'INDEX');
查询某一个表的数据大小
SELECT ROUND(SUM(BYTES) / 1024 / 1024.00, 2) AS TABLE_SIZE_MB
FROM USER_SEGMENTS
WHERE SEGMENT_NAME = '你的模式名' AND SEGMENT_TYPE IN ('TABLE', 'INDEX');
获取模式下各个表的行数和数据大小
SELECT S.TABLE_NAME, S.NUM_ROWS, D.BYTES/1024/1024.00 AS TABLE_SIZE_MB
FROM DBA_TABLES S LEFT JOIN DBA_SEGMENTS D
ON(S.TABLE_NAME = D.SEGMENT_NAME AND S.OWNER =D.OWNER)
WHERE S.OWNER = '你的模式名';
获取数据库的总行数和数据大小
SELECT SUM(S.NUM_ROWS),SUM(D.BYTES)/1024/1024.00 AS TABLE_SIZE_MB
FROM DBA_TABLES S LEFT JOIN DBA_SEGMENTS D
ON(S.TABLE_NAME = D.SEGMENT_NAME AND S.OWNER =D.OWNER)
WHERE S.OWNER = '你的模式名';
字段数(Number of Fields/Columns):
获取模式下各个表的字段数量
SELECT TABLE_NAME, COUNT(*) AS COLUMN_COUNT
FROM ALL_TAB_COLUMNS
WHERE OWNER = '你的模式名'
GROUP BY TABLE_NAME;
获取模式下各个表的字段数和字段类型
SELECT TABLE_NAME,COLUMN_NAME,DATA_TYPE,DATA_LENGTH
FROM ALL_TAB_COLUMNS
WHERE OWNER = '你的模式名'
ORDER BY TABLE_NAME,COLUMN_ID;
索引和约束(Indexes and Constraints):
模式下索引所包含的列的结构以及列的顺序
SELECT * FROM ALL_IND_COLUMNS WHERE TABLE_OWNER = '你的模式名'
模式下索引的总体信息
SELECT * from ALL_INDEXES WHERE OWNER = '你的模式名'
获取模式下的约束
SELECT CONSTRAINT_NAME,TABLE_NAME,CONSTRAINT_TYPE,SEARCH_CONDITION
FROM ALL_CONSTRAINTS
WHERE OWNER = '你的模式名'
ORDER BY TABLE_NAME,CONSTRAINT_NAME;