https://blog.csdn.net/liumangjuntuan/article/details/82379660

https://www.cnblogs.com/wanbin/p/9555415.html

1、drop table table_name 立刻释放磁盘空间 ,不管是 Innodb和MyISAM 。

2、truncate table table_name 立刻释放磁盘空间 ,不管是 Innodb和MyISAM 。

3、delete from table_name删除表的全部数据,对于MyISAM 会立刻释放磁盘空间 (应该是做了特别处理,也比较合理),InnoDB 不会释放磁盘空间;

4、对于delete from table_name where xxx带条件的删除, 不管是innodb还是MyISAM都不会释放磁盘空间,delete操作以后使用optimize table table_name 会立刻释放磁盘空间。不管是innodb还是myisam 。所以要想达到释放磁盘空间的目的,delete以后执行optimize table 操作。例子如下:table_name 表名称。

optimize table table_name

6、delete from表以后虽然未释放磁盘空间,但是下次插入数据的时候,仍然可以使用这部分空间。

总结:

delete from表名;

truncate table 表名;

不带where参数的delete语句可以删除mysql表中所有内容,使用truncate table也可以清空mysql表中所有内容。

效率上truncate比delete快,但truncate删除后不记录mysql日志,不可以恢复数据。

delete的效果有点像将mysql表中所有记录一条一条删除到删完,

而truncate相当于保留mysql表的结构,重新创建了这个表,所有的状态都相当于新表。

7、查询所有数据库占用磁盘空间大小的SQL语句:

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

order by data_length desc;

8、查询单个库中所有表磁盘占用大小的SQL语句:

select TABLE_NAME, concat(truncate(data_length/1024/1024,2),' MB') as data_size,

concat(truncate(index_length/1024/1024,2),' MB') as index_size

from information_schema.tables where TABLE_SCHEMA = 'TestDB'

group by TABLE_NAME

order by data_length desc;

9:查询单个库某张表磁盘占用大小的SQL语句

SELECT t.TABLE_SCHEMA,

t.TABLE_NAME,

t.TABLE_ROWS,

t.DATA_LENGTH,

t.INDEX_LENGTH,

t.DATA_FREE,

concat(round(t.DATA_FREE / 1024 / 1024, 2), 'M') AS datafree

FROM information_schema.tables t

WHERE t.TABLE_SCHEMA = 'epay' and t.table_name='orders'

Mysql碎片恢复_mysql数据库碎片整理相关推荐

  1. mysql 各种恢复_Mysql数据库备份和还原常用的命令

    1.备份MySQL数据库的命令 mysqldump-hhostname-uusername-ppassword databasename>backupfile.sql 2.备份MySQL数据库为 ...

  2. mysql 碎片率_mysql数据碎片太多怎么办?

    mysql数据碎片太多的解决方法:1.进入phpMyAdmin页面,点击左侧栏要管理的MySQL数据库,在数据库最右侧有一列名为"多余":2.点击数据表列表下面的"仅选择 ...

  3. mysql 苏勇_MySQL数据库基础学习笔记(整理自苏勇老师的MySQL基础课程视频)

    一.mysql安装及基本配置 1.安装 Mysql官网:www.mysql.com 开源版本(MySQL Community Server) --安装系统自带版本(如果需要更高版本可到官网下载) # ...

  4. Oracle数据库碎片分析,oracle数据库碎片概念与分析

    什么是oracle的碎片呢,百度一大片关于oracle碎片的概念,以前看了一两遍,以为看了就了解了碎片了,其实不然,在百度上看的内容如下 ------------------------------- ...

  5. mysql客户端查询_MySQL数据库之利用mysql客户端查询UCSC数据库

    本文主要向大家介绍了MySQL数据库之利用mysql客户端查询UCSC数据库 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. UCSC Genome Browser是由Unive ...

  6. mysql删除原则_MySQL数据库的增删选查

    数据库是专门存储数据对象的容器,这里的数据对象包括表.视图.触发器.存储过程等,其中表是最基本的数据对象. 创建数据库 在 MySQL 数据库中存储数据对象之前,先要创建好数据库. 语法: creat ...

  7. mysql select表达式_MySQL数据库SELECT查询表达式解析

    数据的管理在很大一部分是在进行查找工作,而SELECT占据了很大的一部分 SELECT select_expr [,select_expr...] [ FROM table_reference WHE ...

  8. mysql断网_mysql数据库断网链接

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  9. centos72安装mysql配置密码_MySQL数据库之170419、Centos7下完美安装并配置mysql5.6

    本文主要向大家介绍了MySQL数据库之170419.Centos7下完美安装并配置mysql5.6 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. linxu环境: centos ...

最新文章

  1. IOS开发怎么UINavigationController设置title标题的颜色?
  2. 赛灵思:人工智能芯片发展方向与误区
  3. 开源引领的万亿级市场,该如何打造出成功的商业模式?
  4. linux显卡驱动mxm,linux下我的FX5200显卡驱动安装
  5. 鸿蒙2.0开始推送,华为OS首次登陆手机,亮点槽点都在这里
  6. ARM 嵌入式入门经验
  7. My SQL 学习笔记二
  8. zendguard php5.4,ZendGuardLoader6.0.0支持PHP5.4.x系列
  9. leetcode1487. 保证文件名唯一
  10. 删除github上的commit历史记录
  11. 拒绝暴力调参!推荐一个模型Debug神器!
  12. 数字化转型知识方法系列之三:以价值效益为导向推进数字化转型的五大重点任务
  13. --initialize specified but the data directory has files in it. Aborting.
  14. Vue家谱视图结构- vue-tree-chart
  15. python node.js ruby_Python/Ruby/Node.js/Perl - 随笔分类 - bluefrog - 博客园
  16. 流量都去哪儿了? 流量不清零后“消耗快”
  17. 至少需要多少颗卫星才能准确定位?
  18. 常用SEISMIC BINARY数据的读取
  19. VSCODE无法使用unordered_map解决
  20. 处理 Exception 的几种实践,被很多团队采纳!

热门文章

  1. 西电工作笔记(部分)【10000字】【原创】
  2. 人人网登录并写留言板(Requests,js逆向)
  3. 企业为什么要使用云计算,主要有哪些优势?
  4. 手机天猫将全面升级,成为天猫新零售入口丨对话天猫总裁靖捷
  5. JavaWeb-狂神-P11
  6. SwiftUI iOS 完整项目之基于CoreData构建购物计划App(教程含源码App Store上线app)
  7. Simple React Snippets快捷
  8. 怎么把cad做的图分享给别人_怎么将CAD图转换
  9. 广受青睐的题材---蒸汽朋克[Steampunk](转)
  10. Unity VR切换场景闪退