题
我的查询正在缓慢运行。我一般知道要使性能更快,限制连接并尝试使用PROCS代替直接查询。由于业务规则,我无法使用Procs。我已经尽可能多地削减了连接的数量。
查询调整的下一步是什么?
解决方案
最简单的事情是去管理工作室运行此命令:
SET SHOWPLAN_ALL ON
然后运行您的实际查询。
您将无法获得常规查询结果。它将为您提供执行计划(非常详细的列表,列出了SQL Server在结果集中所做的事情)。查看输出并尝试了解其含义。我通常会寻找“扫描”,这是一个缓慢的部分,我尝试重写它,以便使用索引。
其他提示
添加索引可能是您可以做的第一件事来提高查询性能,而您尚未提及它。
您是否查看了执行计划,以查看是否可以通过其他索引来改善这种情况?
此外,您应该确保您的查询以这种方式编写,以便他们可以使用任何索引 是 有效地存在(例如,避免不可避免的结构,避免 *
)
不隶属于 StackOverflow