一门从业4年都没能用上的优化技术

探讨了OLTP系统中页面空穴现象及其对磁盘空间和查询性能的影响,介绍了三种优化方法:使用InnoDB引擎、强制表优化及数据导出导入。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

背景

  对于一个oltp系统,一段时候之后页面(page)上就会出现“空穴”;通俗点来讲,比如一个页面本来可以保存600行记录了,但是由于行与行

  之间出现了“空穴”(一种出现空穴的可能是:之前这个位置上存在的行被删除掉了,这个空间被标记成可复用),也就是说行与行不再是紧密

  的排列在一起;这样的话,一来这会占用过多的磁盘空间,二来会对查询性能有一点的影响。

 

怎么办

  按官方的说法DBA有三种方式可以让行重新排一下 

  方法一:

alter table t engine=innodb;

  方法二:

alter table t force;

  方法三:

  1):把表的数据dump出来、2):删除表 3):把数据import进去

 

 

为什么这么点小事还要记一下

  在这之前我知道的就是方法一 和 方法三,还是第一次看到"alter table t force"这样的写法!这里还是记一下要不然哪天看到了吓到自己。

  工作这么久还没有遇到过哪个问题是通过上面的方式解决的,我感觉主要原因有两个 a): 在面对一个问题时“原因”是不是由“页面空穴”引

  起的,这个比较难回答;没有好的方式去量化这个原因的影响。 a): 还没有被逼到这一步问题就已经解决了,也就是说就算这个问题有影响

  通常也不是主要矛盾!

 

 

 

---

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值