这是一个比较常见的表破损问题,解决方法也比较简单,但因为这次是客户的生产环境,所以不敢贸然行动,必须小心谨慎才行。
一,首先说一下事发背景。
客户的这个项目是一个小项目,总用户数不到10000,而且报错的时间是凌晨两点,在线人数只有个位数。
二,再说一下我的解决方案和解决步骤。
1:直接中断所有用户的访问,提示“系统维护中,请稍后再操作!”,这样做的目的是为了避免排查过程中产生新的脏数据。
2:备份数据库,能用工具备份就用工具备份,工具备份不了,就用文件备份,比如把整个data文件复制出来。这样做的目的是给自己留一条后路。
3:在Navicat中选中崩溃的表,右键-->维护-->修复表-->快速。
4:修复完成后会显示OK记录。然后我们再次双击事故表,发现可以正常打开了。
5:恢复站点正常访问。
三,最后总结一下。
我们通过分析这张表存储的数据和承载的业务逻辑,发现这张表被频繁的增删改查,才造成了这次表的崩溃。
所以在日常的编码中,我们应该尽量避免对一张表频繁的增删改查。