记一次生产数据库事故

  • 事故起因
  • 事故故事
  • 事故现场

事故起因

最后在做报表,报表的数据产生是直接在只读库上面进行的。但因数据量大需要对表做优化,现行优化方式为简单粗暴的加索引。
另外说明一数据库用的是mysql 5.7版本,数据量在40W

事故故事

在一张报表中加了一些数据列的处理,引入了一张新的表。加入后反映说报表导不出来的,在对Sql explain后来发现没有走指定的索引,然后发现是新引入的这个表没有主键,也没有唯一索引(画外音:这也可以,这样的表也能上正式?哈哈哈哈)。那这张表要解决的就是需要一个主键或者唯一索引,最后确认下来我们加上主键。在这时Sql查询一切都正常。然而事故在此时开始了,我们决定将之前不需要的索引进行一次优化,删除一条索引。事故就此发生了。

事故现场

在对索引进行删除时我们使用了如下语句:

drop index IDX_XXX;

初步看这是没有问题。但这条语句的执行过程会锁表。什么会锁表?我不知道这个事啊。

看这里删除索引的过程

记一次生产数据库事故相关推荐

  1. 悬崖边上的舞者,记7.2生产数据库灾难事件

    悬崖边上的舞者,记7.2生产数据库灾难事件 作者:张子良 版权所有,转载请注明出处 引子:出事了 7月2日是一个难得的大晴天,一段时间以来桂林一直在下雨,一直下,害的我减肥的计划一再的泡汤,因为下雨每 ...

  2. plsql objects 过一段时间就会未连接oracle_记一次生产数据库故障排查--连接管理等待事件...

    概述 最近HR数据库比较慢,拿了其中一段时间的awr报告来分析,发现有一个等待事件:connection management call elapsed time,虽然占比不是很大,不过也是有点奇怪, ...

  3. mysql挂载数据卷_记一次生产数据库数据文件进行分区转移

    概述 由于之前同事没有对磁盘分区做规划,可以看到数据和系统是在同个分区的,没有单独规划一个数据分区给数据库,还有个分区是640G没有用上.下面简单介绍一下mysql数据库数据文件的转移过程. 1.新建 ...

  4. arcgis select by attributes一次选多个_优化体系--记一次生产数据库sql优化过程--组合索引...

    概述 最近比较有空,所以看了一些问题sql,顺便优化一下,做个简单记录. 问题sql SQL(c212jfrj1m0fg) 在采样期平均单次执行逻辑读为 106205.83, 其最新执行计划涉及 2 ...

  5. 记一次生产事故-mysql执行update导致锁整表

    我第一次知道,执行update的时候,where条件如果不走索引,会导致锁全表! 然后这个事务执行时间较长,导致后面的除了select语句,其他语句都被锁住不能执行了,导致生产重大事故! 还有,exp ...

  6. 工程师误删了公司生产数据库,如何看待数据安全架构的脆弱性?

    01 背景 这个事情发生在两年前,是某丰的工程师,根据网上披露的信息,大体情况是这样:首先工程师接到了需求变更的任务工单,需要进行数据库SQL执行操作,并事先准备好了SQL的脚本.接下来通过登陆跳板机 ...

  7. 【邮件】生产数据库优化第一步:重建索引

    各位:     昨天晚上经过3个多小时的索引重建工作,重建后索引空间占用缩小为原来的1/10,可见咱们系统的索引效率已经低到不能再低的地步,在数据库压力大的结果中起到了不可推卸的责任.     同时, ...

  8. 【心塞】因为一个低级错误,生产数据库崩溃了将近半个小时

    [欢迎关注微信公众号:厦门微思网络] 反常的sql语句 上周四午休时分,我正在工位上小憩,睡梦中仿佛看到了自己拿着李白在荣耀峡谷里大杀四方的情景,就在我刚拿完五杀准备带领队友推对面水晶的时候,一句慌乱 ...

  9. go mysql slave_【Golang+mysql】记一次mysql数据库迁移(一)

    # [记一次mysql数据库迁移(一)](https://github.com/stayfoo/stayfoo-hub/blob/master/docs/mysql/blog/%E8%AE%B0%E4 ...

最新文章

  1. context.xml mysql_在tomcat下context.xml中配置各种数据库连接池(示例代码)
  2. POI实现读写内容到word中
  3. Centos7 上安装mysql遇上的问题:mysql无法正常启动
  4. how is CRM One Order date range finally converted to OPEN SQL
  5. 微型计算机主机箱内的所有部件均由大规模,2012年自考《计算机应用基础》模拟试题...
  6. C语言指针实数组输入输出,C语言:回来两个数组中第一个元素的指针,并输出这个值...
  7. shell如何检测linux发行版本,shell判断软件版本
  8. 工作总结 项目中如何处理重复提交问题
  9. PAT 1012 数字分类 (20 分)(C语言)
  10. 基于springboot的鲜花商城系统
  11. ArrayList Vector LinkedList 区别与用法
  12. 电源大师课笔记 2.4
  13. 如何阅读PBRT3?
  14. iTextSharp笔记
  15. 网络安全—Linux命令
  16. 微信公众号第三方平台开发PYTHON教程 PART 5
  17. c++ 线程函数(类成员函数作为线程函数使用)
  18. MAC下 生成安卓签名证书.keystore文件【详细】
  19. 深度学习入门笔记(十六):计算机视觉之边缘检测
  20. 自举电路工作原理和自举电阻和电容的选取

热门文章

  1. 如何制作马赛克是硬质纤维板应该正确基金会对于马赛克
  2. 华为鸿蒙测试样机,华为手机鸿蒙1.0测试版系统首曝光!真机照流出:或基于Mate40测试...
  3. jquery实现HTML复选框变单选框
  4. 微信公众号运营靠谱吗?怎么样判断公司需要代运营?
  5. 帝都某外企裁员,补偿673252.62元 !准备回家躺平了 !
  6. java比较两个对象_java判断两个对象是否相等的方法
  7. 如何进入docker 使用root用户的方式
  8. 用不了chatgpt,试试Claude-Claude注册教程
  9. 在做微信公众号网页授权的时候,有时会重定向两次网页(302问题)
  10. linux网络入侵命令,如何使用netstat命令验证DDOS入侵