mysql表结构表空间和索引的查询

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql表结构表空间和索引的查询相关的知识,希望对你有一定的参考价值。

mysql表结构表空间和索引的查询

 

1.查询表的结构信息

Sql代码  

desc tableName;  

  

show columns from tableName;  

  

describe tableName  

  上面的结果返回的结果是一样的。

2 查询表的列信息。

Sql代码  

select * from   

information_schema.columns   

where table_name=‘tableName‘;  

 3 查看库中所有的库

Sql代码  

SELECT LOWER(schema_name) schema_name  

FROM  

 information_schema.schemata  

WHERE  

 schema_name NOT IN (  

 ‘mysql‘,  

 ‘information_schema‘,  

 ‘test‘  

)  

 4 查询某个库中所有的表

Sql代码  

SELECT table_name, create_time updated_at, table_type, ENGINE, table_rows num_rows, table_comment, CEIL(data_length / 1024 / 1024) store_capacity  

FROM  

 information_schema.TABLES  

WHERE table_schema = ‘schema_name‘ AND table_name NOT LIKE ‘tmp#_%‘ ESCAPE ‘#‘  

 5 查看某一个库下某一个表的所有字段

Sql代码  

SELECT  

    lower(column_name) column_name,  

    ordinal_position position,  

    column_default dafault_value,  

    substring(is_nullable, 1, 1) nullable,  

    column_type data_type,  

    column_comment,  

    character_maximum_length data_length,  

    numeric_precision data_precision,  

    numeric_scale data_scale  

FROM  

    information_schema.COLUMNS  

WHERE  

    table_schema = ‘admin_portal‘  

AND table_name = ‘ap_epiboly_task‘;  

 

6  查看某一个库下某一张表的索引

 

Sql代码  

<strong>SELECT DISTINCT  

    lower(index_name) index_name,  

    lower(index_type) type  

FROM  

    information_schema.statistics  

WHERE  

    table_schema = ‘employees‘  

AND table_name = ‘employees‘;</strong>  

 7 查看某一个库下某一个表的注释

 

Sql代码  

SELECT  

    table_comment comments  

FROM  

    information_schema.TABLES  

WHERE  

    table_schema = ‘employees‘  

AND table_name = ‘employees‘;  

 8

 

1.查看索引

 

(1)单位是GB

 

SELECT CONCAT(ROUND(SUM(index_length)/(1024*1024*1024), 2), ‘ GB‘) AS ‘Total Index Size‘ FROM information_schema.TABLES WHERE table_schema LIKE ‘test‘; 

+------------------+ 

| Total Index Size | 

+------------------+ 

| 1.70 GB | 

+------------------+

 

(2)单位是MB

 

SELECT CONCAT(ROUND(SUM(index_length)/(1024*1024), 2), ‘ MB‘) AS ‘Total Index Size‘ FROM information_schema.TABLES WHERE table_schema LIKE ‘test‘;

 

   其中“database”为你所要查看的数据库

 

2.查看表空间

 

SELECT CONCAT(ROUND(SUM(data_length)/(1024*1024*1024), 2), ‘ GB‘) AS ‘Total Data Size‘ 

FROM information_schema.TABLES WHERE table_schema LIKE ‘test‘; 

+-----------------+ 

| Total Data Size | 

+-----------------+ 

| 3.01 GB | 

+-----------------+

 

3.查看数据库中所有表的信息

 SELECT CONCAT(table_schema,‘.‘,table_name) AS ‘Table Name‘, 

CONCAT(ROUND(table_rows/1000000,2),‘M‘) AS ‘Number of Rows‘, 

CONCAT(ROUND(data_length/(1024*1024*1024),2),‘G‘) AS ‘Data Size‘, 

CONCAT(ROUND(index_length/(1024*1024*1024),2),‘G‘) AS ‘Index Size‘ , 

CONCAT(ROUND((data_length+index_length)/(1024*1024*1024),2),‘G‘) AS‘Total‘FROM information_schema.TABLES WHERE table_schema LIKE ‘test‘; 


本文出自 “我的运维时光” 博客,请务必保留此出处http://aaronsa.blog.51cto.com/5157083/1741499

以上是关于mysql表结构表空间和索引的查询的主要内容,如果未能解决你的问题,请参考以下文章

解释mysql中啥是索引?它的作用是啥?

MySQL系列:索引基本操作

mysql进阶之细谈索引分页与慢日志

170727MySQL查询性能优化

MySql的索引操作

mysql:索引