概述
记一次生产数据库事故
- 事故起因
- 事故故事
- 事故现场
事故起因
最后在做报表,报表的数据产生是直接在只读库上面进行的。但因数据量大需要对表做优化,现行优化方式为简单粗暴的加索引。
另外说明一数据库用的是mysql 5.7版本,数据量在40W
事故故事
在一张报表中加了一些数据列的处理,引入了一张新的表。加入后反映说报表导不出来的,在对Sql explain后来发现没有走指定的索引,然后发现是新引入的这个表没有主键,也没有唯一索引(画外音:这也可以,这样的表也能上正式?哈哈哈哈)。那这张表要解决的就是需要一个主键或者唯一索引,最后确认下来我们加上主键。在这时Sql查询一切都正常。然而事故在此时开始了,我们决定将之前不需要的索引进行一次优化,删除一条索引。事故就此发生了。
事故现场
在对索引进行删除时我们使用了如下语句:
drop index IDX_XXX;
初步看这是没有问题。但这条语句的执行过程会锁表。什么会锁表?我不知道这个事啊。
看这里删除索引的过程
最后
以上就是悲凉黄蜂为你收集整理的记一次生产数据库事故事故起因事故故事事故现场的全部内容,希望文章能够帮你解决记一次生产数据库事故事故起因事故故事事故现场所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复