sqlserver优化查询经验记录

alexlee 2024-1-11 276 1/11

最近项目运行久了,出现在如下图,很明显就是超时了

sqlserver优化查询经验记录

一般遇到这种情况,按老规则进行处理,首先是分段进行排查,但确认了每一段的查询速度之后,最后发现每一段的查询速度都相当快。

一时间,我也是想不出怎么解决这种超时问题。突然间,我发现加上某个条件后,有些数据是相当慢的,我意识到可能是数据上的问题。

为此,重点对数据进行排查,果不其然,有些数据关联的数据非常大,这也是为什么查询非常慢的原因。

知道原因之后,就想了一个办法,因为我们肯定不能没有这个逻辑,所以,就想了一个办法,虽然麻烦了一点,但还是能解决问题的。

就是在查询数据之前,先把关联后非常慢的逻辑数据插入到临时表中,最后再用这个临时表来代替之前的查询逻辑。这样操作起来,果然查询

慢的问题,马上就快起来了。

所以当我们解决查询问题的时候,也不一定要一直去关联查询逻辑,用下这个临时表处理掉查询慢的逻辑,再进行关联,这样的速度也是可以快起来的。这里就记录一下这日常,希望以后工作上遇到问题的时候,都可以有个解决思路。

接下来总结下sqlserver 优化的几点建议(排除硬件不足的情况下)。

1.0 一般来说就是sql语句的语法问题,从这里入手,分析效率慢的脚本,进行优化.

2.0 sql脚本优化到极致的时候,就只能尝试加索引,给经常用到的字段加上索引.

3.0 假如实在没有办法,就只能分库,分表,或是加字段,把原来需要关联查询的条件,加到表里边,减少连表操作.

4.0 就是设计库跟表结构的情况下,一定要合理,能不查询的,就尽量不要关联表查询.

大家假如有任何疑问的话,可以直接留言给我,我会解决大家相关的问题或疑问,希望大家喜欢.

- THE END -
最后修改:2024年1月31日
0

非特殊说明,本博所有文章均为博主原创。

共有 0 条评论