架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6796|回复: 0

[交流] 优化SQL查询,提高速度

[复制链接]
发表于 2015-1-27 20:16:51 | 显示全部楼层 |阅读模式
SQL SERVER表中数据达到一定数量(百万级以上)之后执行查询和更新语句的速度将变得相当慢,这一段时间经常遇到这样的问题,今天刚刚又解决了一个,趁热打铁把一般的解决方法写下来,加强自己的记忆,也希望对同道中人有所帮助。
提高速度就一个方法——利用索引。具体来说有两种方式,说明如下:
第一种方法:修改查询或更新语句的WHERE语句,在WHERE语句中尽量包括索引中包括的列。特别是包括聚集索引中的列,对提高执行速度很有帮助。
第二种方法:根据查询或更新语句建立适当的索引。这需要使用SQL SERVER查询分析器提供的索引优化向导,这个工具对SQL语句进行分析,得出恰当的索引。
还要说一点就是解决此类问题时,需要考虑连带问题。如一个存储过程执行的速度比较慢,除针对本存储过程中的语句进行优化之外,还要考虑本存储过程中语句触发的过程是否也需要优化,比如更新或插入表语句触发的相应触发器中的语句是否需要优化。
第三种方法:在处理数据之前把表中的数据暂存到临时表。这种方法可以大大提高执行的速度,但无法解决并发问题。语句如下:
SELECT * INTO #临时表 FROM 正式表
第四种方法:使用快速只进游标。如果不涉及修改可以使用快速只进游标代替普通游标提高速度。

找到优化点并优化:
1. 使用执行计划:查询分析器菜单“查询 -> 显示估计的执行计划”
2. 在存储过程中加入Print显示执行的之间,找到需要优化的语句
3. 使用索引优化向导建立索引:以sa登陆查询分析器,进入菜单“查询 -> 索引优化向导”





上一篇:如何提高sql server的查询速度
下一篇:SQLSERVER服务器配置
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-4-29 14:11

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表