【MySQL】查询数据库表、列、索引、事务信息等

 

一. 表信息

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 table_schema='dbname'
order by table_rows desc, index_length desc;

 

1 table_schema: 记录数据库名
2 table_name: 记录数据表名
3 engine : 存储引擎
4 table_rows: 关于表的粗略行估计
5 data_length : 记录表的大小(单位字节)
6 index_length : 记录表的索引的大小
7 row_format: 可以查看数据表是否压缩过

 

二. 列信息

SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = '数据库名'
ORDER BY TABLE_NAME DESC ;

 

三. 索引信息

SELECT * FROM information_schema.STATISTICS WHERE TABLE_SCHEMA = '数据库名' and table_name='表名'
ORDER BY INDEX_NAME DESC,SEQ_IN_INDEX ;

 

四. 事务

执行时间超过1秒的事务语句

select * from information_schema.innodb_trx where TIME_TO_SEC(timediff(now(),trx_started))>1

 

posted @ 2020-10-26 12:15    阅读(350)  评论(0编辑  收藏  举报