显示数据库总大小
Oracle
SELECT ROUND(SUM(bytes)/1024/1024/1024, 2) AS total_gb
FROM dba_data_files;仅统计已用段时,汇总 dba_segments。TEMP 需加上 dba_temp_files。
PostgreSQL
SELECT pg_size_pretty(pg_database_size(current_database()));所有数据库:SELECT datname, pg_size_pretty(pg_database_size(datname)) FROM pg_database ORDER BY 2 DESC;
MySQL
SELECT table_schema AS db,
ROUND(SUM(data_length + index_length)/1024/1024, 1) AS mb
FROM information_schema.tables
GROUP BY table_schema
ORDER BY mb DESC;对于 InnoDB,该值为估算值;精确的文件大小请在操作系统层面检查 ibdata/数据文件。
SQL Server
EXEC sp_spaceused;
-- All databases:
SELECT DB_NAME(database_id) AS db,
CAST(SUM(size) * 8.0 / 1024 AS DECIMAL(10,1)) AS mb
FROM sys.master_files
GROUP BY database_id;size 列以 8 KB 页为单位;* 8 / 1024 换算为 MB。
MongoDB
db.stats(1024*1024)
// returns the dataSize, storageSize, indexSize fields in MBstorageSize 是压缩后的磁盘占用大小;dataSize 是未压缩的逻辑大小。
Redis
INFO memory
# the used_memory_human line gives the total size in memory
DBSIZE # number of keysRedis 基于内存;“大小”指 RAM 使用量。RDB/AOF 文件大小是持久化到磁盘的状态。