我问在计算器这个问题,因为它的正确的地方要问...提示和技巧有关查询优化[SQL服务器2005]
我知道它 非常广阔的话题开始,但一些小的这可能是非常方便的...
这可能是年轻的开发人员喜欢我了解查询优化有用..
一些提示和技巧在SQL Server中的查询优化 2005 ..
我问在计算器这个问题,因为它的正确的地方要问...提示和技巧有关查询优化[SQL服务器2005]
我知道它 非常广阔的话题开始,但一些小的这可能是非常方便的...
这可能是年轻的开发人员喜欢我了解查询优化有用..
一些提示和技巧在SQL Server中的查询优化 2005 ..
基于此
如
...WHERE tinyintcol = @intvalue
means a conversion of the column and invalidates an index
...WHERE tinyintcol = @tinyintvalue
如
...WHERE DATEADD(day, 1, MyCol) > GETDATE()
should be
...WHERE MyCol > DATEADD(day, -1, GETDATE())
覆盖索引
的GUID:没有聚集索引
如果您的查询速度较慢,最明显的地方就是确保它使用索引。
对于查询的平等,我可以添加到gbn
,recursive
和smaclell
以下内容:
INSERT
和DELETE
查询在交易UPDATE
是多个记录的不仅仅是再次插入他们慢。所以建议是选择,DELETE,不是编程方式更新记录,并重新插入与现有键(注意CASCADE
和TRIGGERS
)
管理工作室,运行命令** set showplan_all on **然后运行您的查询。他们的查询不会运行,但执行计划将被丢弃。在这个输出中查找单词* scan *,这是索引没有被使用的地方。 – 2010-01-26 16:40:34