MYSQL数据空间和索引空间查询

直接转到 SQL:
1 查看所有库的总空间: sql SELECT table_schema AS '数据库名称', CONCAT(TRUNCATE(SUM(data_length)/1 02 4 /1 02 4 ,2 ), 'MB') AS '数据大小', CONCAT(TRUNCATE(SUM(index_length)/1 02 4 /1 02 4 ,2 ), 'MB') AS '索引大小', CONCAT(TRUNCATE(SUM(data_length+index_length)/1 02 4 /1 02 4 ,2 ), 'MB') AS '总和大小' 来自 information_schema.tables GROUP BY 表模式 ORDER BY SUM(data_length+index_length) DESC;
锚点:2 02 0 年,该查询在 MySQL 5 .7 上执行大约需要 5 秒。

2 查询订单数据库表空间: sql SELECT 表名 AS '表名', CONCAT(TRUNCATE(data_length/1 02 4 /1 02 4 ,2 ), 'MB') AS '数据大小', CONCAT(TRUNCATE(index_length/1 02 4 /1 02 4 ,2 ), 'MB') AS '索引大小', CONCAT(TRUNCATE((data_length+index_length)/1 02 4 /1 02 4 ,2 ), 'MB') AS '总大小' 来自 information_schema.tables WHERE table_schema = 'your_database_name' ORDER BY data_length+index_length DESC;
锚点:2 01 9 年,表包含1 000张图片时,查询耗时1 .2 秒。

3 检查所有库空间(包括片段): sql SELECT table_schema AS '数据库名称', CONCAT(TRUNCATE(SUM(data_length)/1 02 4 /1 02 4 ,2 ), 'MB') AS '已用数据空间', CONCAT(TRUNCATE(SUM(data_free)/1 02 4 /1 02 4 ,2 ), 'MB') AS '分数空间', CONCAT(TRUNCATE(SUM(data_length+data_free)/1 02 4 /1 02 4 ,2 ), 'MB') AS '总数据空间' 来自 information_schema.tables GROUP BY table_schema;
锚:2 02 1 年,当这些查询以InnoDB表为主时,碎片率往往超过1 5 %。

不要相信官员说的话是准确的。
OPTIMIZE TABLE 后碎片将消失。

mysql查询表中数据总条数的语句怎么写

嘿,我会告诉你我当时遇到的陷阱。
当时我接手了公司的旧数据库,里面的数据很乱。
有朋友来找我,问我如何查看一个表中有多少条数据。

我想知道,这不是 SQL 的用途吗?我直接打开终端输入:
sql 从人员中选择 count();
这人眼睛一亮,道:“这是怎么回事?”我解释说 COUNT() 只是一个通配符。
你的表有什么字段并不重要,帮我数一下就行了。
结果他跑过来说道:“哎,我们手表上有五千多条记录啊!”当时有点震惊。

后来,又发生了一件事情。
我要做一份销售报告,需要知道有多少人超过 2 0 岁。
我再次输入:
sql 从年龄 > 2 0 的人中选择 count();
一个数字结束后,他说:“好吧,这就是我这份报告的依据。
”我说:“是的,这就是SQL的优点,你可以添加任何你想要的条件。
”汇报完后,老板很满意,还给了我一个小红包。

你看,这个SQL很简单吧?当时我很困惑,但是一旦我开始使用它,我就明白了。
如果您有任何疑问,请随时问我。
这都是基于我的实践经验。