优化存储过程

时间:2010-10-26 18:00:44

标签: sql-server sql-server-2005

我有一个关于如何优化我的sp的问题,实际上它是一个视图,但我决定改为sp以使其更快,并且确实有效。首先,视图运行需要27秒,sp需要16秒。所以它变得越来越好但是如何让它变得更好?

我正在运行我的sp的表是600条记录,我返回80个字段,80个字段,4个字段是图像。它们每个记录的重量不会超过400KB。

任何建议我能做些什么。

3 个答案:

答案 0 :(得分:2)

你说你试图使用覆盖索引,这对包含图像的80列的表来说是一个好主意。但是,你说这对图像不起作用。我建议你拆开这张桌子,即使你只是制作了几张1到1张桌子。 select * from ...中的“*”没有多大帮助。只返回您需要的列。另外,WHERE怎么样?虽然仅返回所需的列非常重要,但仅返回所需的行更为重要。如果您没有WHERE子句,那么世界上所有的索引都无济于事。

答案 1 :(得分:1)

您是否尝试为SPROC调用的查询实现正确的索引? 还要看一下执行计划,看看哪种类型的索引最适合查询。 最后,更新表和索引统计信息,并检查索引上的碎片是否存在任何性能命中。

答案 2 :(得分:0)

  

“我正在运行我的sp的表是600条记录,我返回80个字段,80个字段,4个字段是图像”

如果我是你,我会将图像放入文件系统及其在数据库中的索引路径。

  

"Columns that are of the large object (LOB) data types ntext, text, varchar(max), nvarchar(max), varbinary(max), xml, or image cannot be specified as key columns for an index" as well as non-key (included) columns

此外,我会确定图像是really cached by your webbrowser