Mysql数据量
首先来说一下为什么需要查询Mysql数据量呢,通常情况下,新的项目上线之初,即使你的查询sql写的再差,也不会出现慢sql的问题,那么随着项目运行,数据量几何倍增长的时候,这个时候慢sql的问题就会逐渐显现。通常情况下当你发现监控平台有慢sql时,你会及时排查处理慢sql的问题,这里具体的排查方案和优化方案就不在这里说了,不是今天的主题,今天的主题也是和慢sql有关,那就是数据量大的时候,相应的sql执行会变慢。这里就是说如何查询Mysql数据量。
Mysql查询整库数据量
这里比如我要查询我们数据库名称:ei_crm的数据量,那么sql语句就是
SELECT TABLE_NAME AS'表名', TABLE_ROWS AS'记录数', TRUNCATE (data_length /1024/1024,2)AS'数据容量(MB)', TRUNCATE (index_length /1024/1024,2)AS'索引容量(MB)'FROM information_schema.TABLESWHERE TABLE_SCHEMA ='ei_crm'ORDERBY TABLE_ROWS DESC;
这里我是在数据库连接工具navicat执行sql的,执行结果如图
这里就可以看到当前数据库对应表名及数据行数和占用存储,那么如何查询指定表名的数据量呢
Mysql查询指定表数据量
这里我模糊查询指定表名:crm_meiqia%表的数据量,查询sql如下
SELECT TABLE_NAME AS'表名', TABLE_ROWS AS'记录数', TRUNCATE (data_length /1024/1024,2)AS'数据容量(MB)', TRUNCATE (index_length /1024/1024,2)AS'索引容量(MB)'FROM information_schema.TABLESWHERE TABLE_SCHEMA ='ei_crm'AND TABLE_NAME LIKE'crm_meiqia%'ORDERBY TABLE_ROWS DESC;
执行结果如图
这里我们就可以看到指定表的数据量。
查询Mysql数据量的用意
那么查询Mysql数据量的用意呢?就比如开头提到的慢sql的问题,慢sql不一定是你的sql写的不好,另一个原因就可能是你查询表的数据量太大了;另外就是当你发现数据库中某一个表的数据量过大,超过千万数据的时候,你是否就可以综合数据对业务性能响应的情况,对数据表进行分表处理,这些操作都是可以拿数据量作为参考的,希望对大家有帮助哈。