select
table_schema as '数据库',
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.tables
where 1=1 and table_schema='db001'
order by table_rows desc, index_length desc;
SQL 查询语句,用于从 information_schema.tables
表中选择特定数据库(在这个例子中是名为 'crawleroocllisten' 的数据库)的表信息。查询结果包括数据库名、表名、表中的记录数以及数据和索引所占用的空间容量(单位为MB)。这里使用了 truncate
函数来将数据和索引长度除以1024两次(将字节转换为MB),并且保留两位小数。
具体来说,这个查询做了以下几件事情:
table_schema as '数据库'
:选择table_schema
字段,并将其别名设置为 '数据库'。table_name as '表名'
:选择table_name
字段,并将其别名设置为 '表名'。table_rows as '记录数'
:选择table_rows
字段,并将其别名设置为 '记录数'。truncate(data_length/1024/1024, 2) as '数据容量(MB)'
:计算每个表的数据长度(以字节为单位),将其转换为MB,并使用truncate
函数保留两位小数,别名为 '数据容量(MB)'。truncate(index_length/1024/1024, 2) as '索引容量(MB)'
:计算每个表的索引长度(以字节为单位),将其转换为MB,并使用truncate
函数保留两位小数,别名为 '索引容量(MB)'。where 1=1 and table_schema='db001'
:过滤条件,只选择名为 'crawleroocllisten' 的数据库中的表。order by table_rows desc, index_length desc
:按照记录数降序和索引长度降序对结果进行排序。
这个查询通常用于数据库管理,帮助管理员了解数据库中各个表的大小和记录数,以便进行优化和维护。