返回顶部

收藏

mysql show table status 的替代方案:获得更多更具体的表信息

更多

mysql提供的show table status like ‘%xxx’可以方便的查看某些表的信息,但是使用这个语句没法对结果集进行排序,不如我想看数据库中那个表中的数据量最大就办不到了?

其实可以通过访问information_schema数据库获得show table status的相关信息

比如:

SELECT * FROM information_schema.tables WHERE table_schema = DATABASE();

获得按数据量排序的信息:

SELECT table_name,ENGINE,VERSION,ROW_FORMAT,table_rows,AVG_ROW_LENGTH,
Data_length,Max_data_length,Index_length,Data_free,AUTO_INCREMENT,
Create_time,Update_time,Check_time,table_collation,CHECKSUM,
Create_options,table_comment FROM information_schema.TABLES
WHERE table_schema = DATABASE()
ORDER BY table_rows DESC

也可以指定数据库:

SELECT table_name,Engine,Version,Row_format,table_rows,Avg_row_length,
Data_length,Max_data_length,Index_length,Data_free,Auto_increment,
Create_time,Update_time,Check_time,table_collation,Checksum,
Create_options,table_comment FROM information_schema.tables
WHERE table_schema = 'yourdb';

还可以方便的查询到那些表的引擎不是InnoDB,如下sql语句:

SELECT table_name,Engine,Version,Row_format,table_rows,Avg_row_length,
Data_length,Max_data_length,Index_length,Data_free,Auto_increment,
Create_time,Update_time,Check_time,table_collation,Checksum,
Create_options,table_comment FROM information_schema.tables
WHERE table_schema = 'yourdb' and Engine != 'InnoDB'

标签:mysql,sql

收藏

0人收藏

支持

1

反对

0

相关聚客文章
  1. 博主 发表 2015-03-10 08:33:00 Mysql的sql语句执行效率检查 --Explain
  2. dulong 发表 2015-12-28 15:30:17 MySQL的语句执行顺序
  3. nosqlfan 发表 2013-01-07 15:10:06 从MySQL到Redis,提升数据迁移的效率
  4. aGuegu 发表 2014-09-22 13:12:28 [sql] 记一次查询优化
  5. 谢权 发表 2016-02-01 17:23:17 SQL入门练习(三)
  6. wwek 发表 2013-04-23 02:16:59 mysql慢查询分析centos下mysqlsla的安装与使用
  7. 新一 发表 2013-05-23 11:05:15 mysql查询区分大小sql语句
  8. caishzh 发表 2014-11-10 01:30:32 SQL表连接图解
  9. Jason Yang 发表 2012-06-12 12:30:17 使用 phpmyadmin 批量修改 Wordpress 注册用户权限
  10. dwqs 发表 2015-04-24 02:33:43 画图解释 SQL join 语句
  11. alswl 发表 2017-09-19 08:43:45 一个关于 nolock 的故事:深入理解数据库隔离级别
  12. JeffJing 发表 2011-04-19 08:12:51 MySQL常用数据表操作SQL