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

是的,使用信息视图和命令行检查 MySQL 表大小。

使用信息视图编写SQL语句,查看data_length和index_length,并将其转换为MB。

使用命令行,简单,显示表状态。

自定义表格、清理数据、更改结构、拆分为块并优化例程。

数据视图和文件系统是分开的。
原因有InnoDB机制、日志文件、碎片空间和系统开销。

MySQL如何跑系统_MySQL系统表查询与数据库状态监控教程

显然,要监控MySQL,需要使用系统schema的information_schema、performance_schema和系统表,然后使用相应的命令来完成从故障排除到容量规划的整个过程。

扩展一下,information_schema就是数据库的“户口本”。
去年我们跑了一个3 000级的项目,靠它快速计算表结构的变化,找出哪些库确实臃肿。
另一件事是,performance_schema 是一个“行车记录仪”。
我们曾经使用 events_statements_summary_by_digest 来捕获执行时间超过 5 秒的 SQL。
我们搜索了一整天,没有使用这个。
还有一个更重要的细节。
sys schema 是 MySQL 5 .7 + 的封装视图。
例如,直接在 sys.innodb_buffer_pool_stats 中检查命中率比读取 information_schema 日志更容易。
说实话,有点混乱。
起初我以为缓冲池满了就更换所有物理磁盘,但后来发现调整配置参数就可以解决问题。

找推荐,只要上Prometheus+Grafana,把连接数、QPS等指标画到仪表盘里,半夜醒来一看就知道数据库在做什么。