一门从业4年都没能用上的优化技术
【背景】
对于一个oltp系统,一段时候之后页面(page)上就会出现“空穴”;通俗点来讲,比如一个页面本来可以保存600行记录了,但是由于行与行
之间出现了“空穴”(一种出现空穴的可能是:之前这个位置上存在的行被删除掉了,这个空间被标记成可复用),也就是说行与行不再是紧密
的排列在一起;这样的话,一来这会占用过多的磁盘空间,二来会对查询性能有一点的影响。
【怎么办】
按官方的说法DBA有三种方式可以让行重新排一下
方法一:
alter table t engine=innodb;
方法二:
alter table t force;
方法三:
1):把表的数据dump出来、2):删除表 3):把数据import进去
【为什么这么点小事还要记一下】
在这之前我知道的就是方法一 和 方法三,还是第一次看到"alter table t force"这样的写法!这里还是记一下要不然哪天看到了吓到自己。
工作这么久还没有遇到过哪个问题是通过上面的方式解决的,我感觉主要原因有两个 a): 在面对一个问题时“原因”是不是由“页面空穴”引
起的,这个比较难回答;没有好的方式去量化这个原因的影响。 a): 还没有被逼到这一步问题就已经解决了,也就是说就算这个问题有影响
通常也不是主要矛盾!
---
分类:
MYSQL
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
2016-12-14 SQL建模错误--逗号分隔值
2014-12-14 Linux 查看文件
2014-12-14 Linux cd命令