[mysql][sql]mysql查询表大小

sql 复制代码
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),并且保留两位小数。

具体来说,这个查询做了以下几件事情:

  1. table_schema as '数据库':选择 table_schema 字段,并将其别名设置为 '数据库'。
  2. table_name as '表名':选择 table_name 字段,并将其别名设置为 '表名'。
  3. table_rows as '记录数':选择 table_rows 字段,并将其别名设置为 '记录数'。
  4. truncate(data_length/1024/1024, 2) as '数据容量(MB)':计算每个表的数据长度(以字节为单位),将其转换为MB,并使用 truncate 函数保留两位小数,别名为 '数据容量(MB)'。
  5. truncate(index_length/1024/1024, 2) as '索引容量(MB)':计算每个表的索引长度(以字节为单位),将其转换为MB,并使用 truncate 函数保留两位小数,别名为 '索引容量(MB)'。
  6. where 1=1 and table_schema='db001':过滤条件,只选择名为 'crawleroocllisten' 的数据库中的表。
  7. order by table_rows desc, index_length desc:按照记录数降序和索引长度降序对结果进行排序。

这个查询通常用于数据库管理,帮助管理员了解数据库中各个表的大小和记录数,以便进行优化和维护。

相关推荐
久醉不在酒1 小时前
MySQL数据库运维及集群搭建
运维·数据库·mysql
Yang.991 小时前
基于Windows系统用C++做一个点名工具
c++·windows·sql·visual studio code·sqlite3
WindFutrue1 小时前
使用Mybatis向Mysql中的插入Point类型的数据全方位解析
数据库·mysql·mybatis
一只爱撸猫的程序猿2 小时前
一个简单的Linux 服务器性能优化案例
linux·mysql·nginx
计算机毕设源码qq-38365310412 小时前
(附项目源码)Java开发语言,215 springboot 大学生爱心互助代购网站,计算机毕设程序开发+文案(LW+PPT)
java·开发语言·spring boot·mysql·课程设计
袁庭新3 小时前
Cannal实现MySQL主从同步环境搭建
java·数据库·mysql·计算机·java程序员·袁庭新
爱学习的白杨树3 小时前
MySQL中有哪几种锁?
数据库·mysql
王ASC5 小时前
ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值。ojdbc8版本23.2.0.0驱动BUG【已解决】
数据库·sql·oracle
Stara05116 小时前
Git推送+拉去+uwsgi+Nginx服务器部署项目
git·python·mysql·nginx·gitee·github·uwsgi
不爱学习的啊Biao6 小时前
初识mysql数据库
数据库·mysql·oracle