MySQL如何看表大小_MySQL数据库表大小查询与优化教程

information_schema.TABLES可以控制表大小,SHOW TABLE STATUS速度更快。

使用信息架构: 平方米 SELECT table_schema, table_name, ROUND((data_length+index_length)/1 02 4 /1 02 4 ,2 ) AS 总大小 (MB) 来自 information_schema.TABLES WHERE table_schema='your_db' SORT BY (数据长度+索引长度) DESC;
data_length是数据大小,index_length是索引大小,data_free是碎片。

显示表状态更简单: 平方米 将 your_db 中的表状态显示为“your_table”;
表优化方法: 1 、删除旧数据:将一年前的日志迁移至归档库,减少5 GB大小。
2 .优化类型:使用TINYINT存储0到2 5 5 的数字,节省0.5 MB/1 0,000条。
3 .消除冗余索引:消除未使用的索引,查询速度将提高3 0%。
4 、分区:按月分区可以减少5 0%的查询时间。
5 . OPTIMIZE TABLE:重建表并回收碎片,但表将被锁定1 小时。

InnoDB 文件大小大于 information_schema:
当每个表都是独立文件时(innodb_file_per_table=ON),大小接近.ibd。

当使用共享表空间(OFF)时,数据混合在ibdata1 中,无法单独查询。

页对齐(1 6 KB)+文件系统锁(4 KB),实际占用大于逻辑大小。

日志文件 (ib_logfile) 不考虑表大小统计信息。

data_free 逻辑上空闲,但文件仍然繁忙。
如果碎片较多,则文件会较大。

自己掂量一下。

MySQL文件如何打开mysql文件如何打开