[英]How to decerase execution time while executing stored procedure in sql server
我有一个这样的存储过程:
alter procedure [dbo].[fetch]
@locid integer
as
begin
SET NOCOUNT on
select * from transaction_tbl where locid=@locid
end
在执行此操作时,我得到大约1500条记录..这大约需要35秒,这次有什么方法可以减少
这个评论太长了。 显然,加快查询速度的方法是在transaction_tbl(loc_id)
上添加索引。 我想建议这样一个简单的存储过程应真正实现为内联表值函数:
create function udf_fetch (@LocId)
@LocId int
)
returns table
return(select *
from transaction_tbl
where LocId = @Locid;
);
然后可以将其称为:
select *
from dbo.udf_fetch(@LocId)
因此,您可以将结果与from
子句中的其他表结合使用。
这里可能没有一个答案可以解决,但通常是在这种情况下,您需要向表中添加索引。
确保在locid
字段上有一个索引。
CREATE UNIQUE NONCLUSTERED INDEX (indexname)
ON transaction_tbl (locid)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.