美文网首页
一条sql犯下的“血案”

一条sql犯下的“血案”

作者: 余叁贰 | 来源:发表于2020-12-03 23:31 被阅读0次

    做一个需求的开发,算是个改造吧。

    集成测试过程中,在生产想要找之前做过的数据,执行了以下sql。

    select t.* from order_service_log t where t.service_code = '产品过户' limit 10

    当现场的一个测试头头在群里截图@全体,问谁执行了这个sql时,顿时感觉大事不妙。

    想起执行这个sql时,貌似好几分钟都没执行完。

    !!!不会是拉垮了整个生产数据库吧!!!

    然后就是如此。

    单看这个sql,并没有什么问题,感觉对效率没太大影响。

    但一旦service_code这个字段不是索引,且这个日志表数量达30万+,这条简单的sql就不是这么简单了。

    但归根到底,还是日记表定时需要清数据。

    而我们书写查询语句时,也要注意,最好用带有索引的条件去查询,避免用t.*,以及用上时间限制。

    还是受职场磋磨地不够多啊!

    相关文章

      网友评论

          本文标题:一条sql犯下的“血案”

          本文链接:https://www.haomeiwen.com/subject/usxbwktx.html