我使用的是SQL Server2008,因此需要使用数据库引擎优化顾问优化我的queries.For。
我的问题是,我可以一次只检查一个SQL查询的性能,还是可以检查多个新会话的性能?
发布于 2011-02-14 18:36:59
要一次分析一个查询,请在SSMS脚本窗口中右键单击该查询,然后为该工作负载选择"Analyze query in DTA“选项,选择"keep all existing PDS”选项,以避免为正在检查的查询未使用的索引加载drop建议。
要执行多个任务,首先使用具有代表性的工作负载样本捕获跟踪文件,然后可以使用DTA进行分析。
发布于 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…插入或插入…进入,等等)
https://stackoverflow.com/questions/4991040
复制相似问题