一个表中数据1000w筛选3条数据花了48秒,加了索引0秒
朋友问我为什么一条简单的语句查询要花48秒,告诉我表中大概有1000多w数据,语句如下,
REATE PROCEDURE [dbo].[SMS_FEESELECT]
@DestTerminalID VARCHAR(13) --用户号码 为什么长度13位? 用户手机号码11位+86 =总位长11
AS
BEGIN
SET NOCOUNT ON
SET @DestTerminalID= LTRIM(RTRIM(@DestTerminalID)) --首先将WEB页面上用户填写的号码左右去空格
SET @DestTerminalID = '86' + @DestTerminalID --将WEB页面上用户填写的号码+86
SELECT * FROM SMS_FEE WHERE DESTTERMINALID=@DestTerminalID --查询数据
SET NOCOUNT OFF
END
--********************[SMS_FEE]********************
GO
我想:
这种简单查询能消耗这么长时间??
没建索引吧,
按照where字句的字段建索引,应该0秒就能检索出来
CREATE
NONCLUSTERED
INDEX
IX_SMS_FEE
ON
dbo.SMS_FEE
(
DestTerminalID
)
ON
[
PRIMARY
]
问题就酱紫解决了.......