本文章來給大家介紹一些常用的MySQL檢視資料庫、表的占用空間大小sql指令吧,希望此教程 對各位同學會有所幫助。
檢視各庫的大小
代碼如下
複制代碼
SELECT SUM(DATA_LENGTH)+SUM(INDEX_LENGTH) FROM information_schema.tables WHERE TABLE_SCHEMA='database_name';
結果是以位元組為機關,除1024為K,除1048576為M。
檢視各表的大小
SELECT TABLE_NAME,DATA_LENGTH+INDEX_LENGTH,TABLE_ROWS FROM information_schema.tables WHERE TABLE_SCHEMA='database_name' AND TABLE_NAME='table_name';
檢視表的最後修改時間
sELECT TABLE_NAME,UPDATE_TIME FROM information_schema.tables where TABLE_SCHEMA='database_name';
LOG
information_schema 庫的 TABLES 表,主要字段分别是:
TABLE_SCHEMA : 資料庫名
TABLE_NAME:表名
ENGINE:所使用的存儲引擎
TABLES_ROWS:記錄數
DATA_LENGTH:資料大小
INDEX_LENGTH:索引大小
自己應用的一個執行個體
//先進去MySQL自帶管理庫:information_schema
//自己的資料庫:dbwww58com_kuchecarlib
//自己的表:t_carmodelparamvalue
mysql> use information_schema;
Database changed
mysql> select data_length,index_length
-> from tables where
-> table_schema='dbwww58com_kuchecarlib'
-> and table_name = 't_carmodelparamvalue';
+-------------+--------------+
| data_length | index_length |
| 166379520 | 235782144 |
1 row in set (0.02 sec)
mysql> 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
+----------------+-----------------+
| data_length_MB | index_length_MB |
| 158.67MB | 224.86MB |
1 row in set (0.03 sec)
檢視mysql某資料庫中所有表的引擎類型:
for i in $(cat tables.txt); do mysql --user=*** --password=*** -h 192.168.*.* 庫名 -e "show create table $i;" | awk -F"ENGINE" '{print $2}' | awk '{print $1}' ;done | grep -v ^$ ;done
for循環使用示例:for i in `seq 3`;do echo $i; done
本文轉自 Tenderrain 51CTO部落格,原文連結:http://blog.51cto.com/tenderrain/1610463