| 
                         5.查看库或表大小 
- # 查看整个实例占用空间大小: 
 - SELECT 
 -  concat( round( sum( data_length / 1024 / 1024 ), 2 ), 'MB' ) AS data_length_MB, 
 -  concat( round( sum( index_length / 1024 / 1024 ), 2 ), 'MB' ) AS index_length_MB  
 - FROM 
 -  information_schema.`TABLES`; 
 -   
 - # 查看各个库占用大小: 
 - SELECT 
 -  TABLE_SCHEMA, 
 -  concat( TRUNCATE ( sum( data_length )/ 1024 / 1024, 2 ), ' MB' ) AS data_size, 
 -  concat( TRUNCATE ( sum( index_length )/ 1024 / 1024, 2 ), 'MB' ) AS index_size  
 - FROM 
 -  information_schema.`TABLES` 
 - GROUP BY 
 -  TABLE_SCHEMA; 
 -   
 - # 查看单个库占用空间大小: 
 - SELECT 
 -  concat( round( sum( data_length / 1024 / 1024 ), 2 ), 'MB' ) AS data_length_MB, 
 -  concat( round( sum( index_length / 1024 / 1024 ), 2 ), 'MB' ) AS index_length_MB  
 - FROM 
 -  information_schema.`TABLES` 
 - WHERE 
 -  table_schema = 'test_db'; 
 -   
 - # 查看单个表占用空间大小: 
 - SELECT 
 -  concat( round( sum( data_length / 1024 / 1024 ), 2 ), 'MB' ) AS data_length_MB, 
 -  concat( round( sum( index_length / 1024 / 1024 ), 2 ), 'MB' ) AS index_length_MB  
 - FROM 
 -  information_schema.`TABLES` 
 - WHERE 
 -  table_schema = 'test_db'  
 -  AND table_name = 'tbname'; 
 
  
6.查看表碎片及收缩语句 
- # 查看某个库下所有表的碎片情况: 
 - SELECT 
 -  t.TABLE_SCHEMA, 
 -  t.TABLE_NAME, 
 -  t.TABLE_ROWS, 
 -  concat( round( t.DATA_LENGTH / 1024 / 1024, 2 ), 'M' ) AS size, 
 -  t.INDEX_LENGTH, 
 -  concat( round( t.DATA_FREE / 1024 / 1024, 2 ), 'M' ) AS datafree  
 - FROM 
 -  information_schema.`TABLES` t  
 - WHERE 
 -  t.TABLE_SCHEMA = 'test_db'  
 - ORDER BY 
 -  datafree DESC; 
 -   
 - # 收缩表,减少碎片: 
 - alter table tb_name engine = innodb; 
 - optimize table tb_name; 
 
  
7.查找无主键表 
- # 查找某一个库无主键表: 
 - SELECT 
 - table_schema, 
 - table_name 
 - FROM 
 -  information_schema.`TABLES` 
 - WHERE 
 -  table_schema = 'test_db' 
 - AND TABLE_NAME NOT IN ( 
 -  SELECT 
 -  table_name 
 -  FROM 
 -  information_schema.table_constraints t 
 -  JOIN information_schema.key_column_usage k USING ( 
 -  constraint_name, 
 -  table_schema, 
 -  table_name 
 -  ) 
 -  WHERE 
 -  t.constraint_type = 'PRIMARY KEY' 
 -  AND t.table_schema = 'test_db' 
 - ); 
 - # 查找除系统库外 无主键表: 
 - SELECT 
 -  t1.table_schema, 
 -  t1.table_name 
 - FROM 
 -  information_schema.`TABLES` t1 
 - LEFT OUTER JOIN information_schema.TABLE_CONSTRAINTS t2 ON t1.table_schema = t2.TABLE_SCHEMA 
 - AND t1.table_name = t2.TABLE_NAME 
 - AND t2.CONSTRAINT_NAME IN ('PRIMARY') 
 - WHERE 
 -  t2.table_name IS NULL 
 - AND t1.TABLE_SCHEMA NOT IN ( 
 -  'information_schema', 
 -  'performance_schema', 
 -  'mysql', 
 -  'sys' 
 - ) ; 
 
  
总结: 
希望这些SQL语句能对你有所帮助,可以收藏一下,说不定某次就用到了呢!                         (编辑:滁州站长网) 
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! 
                     |