SQL语句执行超时问题

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

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

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

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

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

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

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

posted @   顾星河  阅读(74)  评论(0编辑  收藏  举报

整理中...

点击右上角即可分享
微信分享提示