如何减少存储过程插入单个记录所花费的时间?

时间:2010-04-23 16:09:34

标签: sql-server

我们编写了一个存储过程,用于一次从DB中选择一条记录。使用相同的存储过程读取2000条记录需要4秒。有没有办法优化它? (如2000条记录的单个存储过程)

这是我的存储过程:

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

ALTER PROCEDURE [dbo].[GetItemValue](@ItemName VARCHAR(200),@TimeStamp as DATETIME)

AS

select * from EIItemData

where ItemName=@ItemName AND TimeStamp=@TimeStamp

任何人都可以告诉我如何优化这个存储过程来读取2000条记录,而不是为每个项目调用一次。

3 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

请考虑SQL Server(以及所有RDBMS)在基于集合的操作中效果最佳。

考虑更改您的调用代码(客户端)以期望读取一组记录。

请发布您的存储过程,无论是阅读还是插入,我们都可以帮助您找到最佳解决方案!

答案 2 :(得分:0)

看看你的SQL,我会说,提出以下几点:

  1. 请勿使用select *语法,只需返回所需的列。
  2. 我猜你没有where子句中的列索引。考虑添加它们。
  3. 如果您需要2000件物品,为什么不一次带上它们。