抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

起因

由于数据库系统的查询一直在使用es监控,某一天收到一条报警记录

慢SQL

在遇到这个告警的时候,还存在一些疑问,这么简单的sql居然会报慢查询。

经过

经过查看数据库数据,发现由于topic_type只有1和0两个状态,就未给它设置索引

结果

经过查看该表有数据40+W,在sql中topic_type=1的数据比formid的数据多的多,导致了查询时导致了慢sql

后记

修改了sql的查询顺序,发现再也没有慢日志产生,由此得出结论:

  1. 数据库语句查询条件并非并行,而是有先后关系,所以一定要注意查询语句的先后关系,范围小的先放前面
  2. 该加索引就必须加索引,数据库性能达到瓶颈能导致整个系统崩溃
  3. 微服务环境下,不仅要分库分表,还需要将不同服务的数据库分别部署,增强容灾性,一旦某个库达到瓶颈,后果会形成链式反应

评论