首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL查询优化

SQL查询优化
EN

Stack Overflow用户
提问于 2011-02-14 18:25:10
回答 2查看 109关注 0票数 1

我使用的是SQL Server2008,因此需要使用数据库引擎优化顾问优化我的queries.For。

我的问题是,我可以一次只检查一个SQL查询的性能,还是可以检查多个新会话的性能?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-14 18:36:59

要一次分析一个查询,请在SSMS脚本窗口中右键单击该查询,然后为该工作负载选择"Analyze query in DTA“选项,选择"keep all existing PDS”选项,以避免为正在检查的查询未使用的索引加载drop建议。

要执行多个任务,首先使用具有代表性的工作负载样本捕获跟踪文件,然后可以使用DTA进行分析。

票数 2
EN

Stack Overflow用户

发布于 2015-07-15 02:20:46

在编写查询时,必须遵循以下简单步骤:-

1-采用select查询中列的名称,而不是*

2-避免子查询

3-避免使用运算符IN运算符

4-在Group By中用作筛选器

5-不要在数据库中保存图像,而不是在数据库中保存图像路径例如:在数据库中保存图像占用大量空间,每次在数据库中保存或检索图像时都需要序列化。

6-每个表都应该有一个主键

7-每个表至少应该有一个聚集索引

8-每个表应具有适量的非聚集索引非聚集索引应基于正在运行的查询在表的列上创建

9-创建索引时应遵循以下优先级顺序a) WHERE子句,b) JOIN子句,c) ORDER BY子句,d)SELECT子句

10-不使用视图或用原始源表替换视图

11-尽可能不使用触发器,将触发器的逻辑合并到存储过程中

12-删除任何即席查询,改为使用存储过程

13-检查是否至少有30%的硬盘为空,这将使性能略有提高

14-如果可能,也将UDF的逻辑移至SP

15-从表中删除任何不必要的连接

16-如果查询中使用了游标,请查看是否有任何其他方法可以避免使用游标(通过SELECT…插入或插入…进入,等等)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4991040

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档