今天测试突然找到我说,点个按钮要等很久很久,赶紧排查问题。反复试了下,刚开始等很长时间还可以执行成功,后面直接报Lock wait timeout exceeded; try restarting transaction,在网上看是因为锁超时导致释放锁,那还是要找下根源呀,毕竟之前都能运行的好好的~
看代码一层层分析,刚开始猜想是不是因为最近测试环境的库换成了正式环境的库数据,而正式库表有千万条,点这个按钮每次都要去删这个千万条表数据没走索引导致,后来把这个删除sql拿去一分析,哦吼,虽然sql是用到表索引,但还是走的全表扫描,在网上翻了很久,最后还是考虑直接用id主键去删除,果然速度杆杆的~~
不知道什么原因导致已经用了表索引而还是全表扫描,等以后有经验再慢慢研究下~~~