错误查询在执行过程时完成但出错

时间:2014-08-07 06:28:43

标签: sql

CREATE PROCEDURE Test(@cid int)
AS
BEGIN
DECLARE @local int;
SET @local=@cid;
SELECT * FROM DBO.customerDetails WHERE CID=@local;
END
EXECUTE Test 1

我的程序需要花费大量时间才能执行......

1 个答案:

答案 0 :(得分:0)

我怀疑索引:无论是坏的还是坏的

  • 您在DBO.customerDetails上有任何索引吗?
  • CID是主键吗?是集群吗?
  • 查询应返回一行吗?
  • CID是否与参数?
  • 的数据类型相同

基本上,没有索引或索引不好就有表扫描。也就是说,要查找所需的行,需要检查所有行。

如果没有群集,则CID上的索引可能不够,因为获取所有其他列需要进行密钥查找。

更多解释需要更多信息......