mysql多余_phpMyAdmin管理mysql中 “多余”这一列是做什么用的?

简单的说,mysql 的伎俩:以空间换时间。

------ 2015年12月2日09:02:09 更新 ------------

由于我没有深入研究过 MySQL 源码,以下内容纯属猜测。

我看了你的截图,表都是 MyISAM 的。在第一次插入数据的时候,数据都是连续存储的(物理存储)。当 MySQL 删除数据的时候,就会产生很多不连续的空白空间。

332e298b0670482070d786a9f97d901a.png

而当插入数据时,会有很多的策略来使用这些空白空间。我们假设其中的一种是“最旧最匹配策略”:

如果插入的数据比2大,但是比1小,那么我们就可以把他插入到1的位置。但是由于新插入的空间比1小,所以1的空间还是有剩余。

6c9686039f8aecec729d1d98037b65fe.png

MySQL 可以防止这些碎片吗?当然可以。在删除或者插入的时候,可以把后面的所有空间前移,这样就不会产生碎片了。但是,如果表里有10万条记录,我们删除了第100条,那么我们几乎要移动所有的空间,这样就产生了非常大的IO操作。

不仅仅是 MySQL,就连 Windows 都需要定期的清理磁盘碎片。

你可以再温习一下《操作系统》课程的相关知识。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值