SQL语句执行超时问题

  上周遇到一个SQL超时问题,多个JOIN,最后SUM求和,客户日志里有超时信息。

  但是奇怪的是把日志里的超时单独拿出来放到SQL里执行,并没有超时,奇怪得很。

  原因有很多,其中一种是“参数嗅探”,具体细节可以参考其他文章了解一二。

  简单说下怎么优化的,分两个方向:

  1、多表JOIN,改成先得到一张临时表,再通过临时表去JOIN余下的表

  2、查询时带上日期范围,避免统计所有数据

  优化后,暂时没有再看到这个地方的超时信息,说明有一定作用。在实际的开发过程中, 应当避免很多表JOIN,以及大表JOIN,优先对数据做过滤,再关联,必要时使用临时表。

posted @ 2024-04-02 23:34  顾星河  阅读(99)  评论(0)    收藏  举报