我们都知道,一个数据库里面有许多表,那就需要找出哪个表数据量最大,采用以下命令:
select TABLE_NAME,
case when DATA_LENGTH<1*1024*1024 then concat(ROUND(DATA_LENGTH/1024,2),'KB')
WHEN DATA_LENGTH<128*1024*1024 then concat(ROUND(DATA_LENGTH/1024/1024,2),'MB')
ELSE concat(ROUND(DATA_LENGTH/1024/1024/1024,2),'TB')
END as dataSize
from information_schema.`TABLES`
where table_schema='employee' -- 数据库名称
order by DATA_LENGTH desc
- delete
特别慢
- drop
由于存在事务,真正执行起来也很慢。
- truncate
没有事务,执行很快
-
rename
4.1 创建临时表
table_new
4.2 将要清空的表
table
快速rename
为table_old
4.3 将
table_new
快速rename
为table