表结构:Useridvarchar(20),UserNamevarchar(20),RegTimedatetime,Telvarchar(20),在Userid上建立的NONclustered的索引,查询语句SELECT*FROMT_UserInfoWHEREUSERIDLIKE'ABCDE8%'返回...
表结构:Userid varchar(20), UserName varchar(20),
RegTime datetime, Tel varchar(20),
在 Userid 上建立的NONclustered 的索引,
查询语句SELECT * FROM T_UserInfo WHERE USERID LIKE 'ABCDE8%'
返回12万多行,但是是表扫描
确定是表扫描,逻辑读加非聚集索引和不加索引差不多一样,还多了一个
表 'T_UserInfo'。扫描计数 3,逻辑读取 13204 次,物理读取 158 次,预读 9928 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次(未加索引)。
表 'T_UserInfo'。扫描计数 3,逻辑读取 13205 次,物理读取 192 次,预读 9959 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次(非聚聚索引)。
需要确认的我都确认了,确实是表扫描,图标查看查询计划,IO差不多,STATISTICS的结果上边已经显示了,
SET SHOWPLAN_ALL ON;比较也差异不多一样,
未加索引前的结果分析
EstimateIO EstimateCPU EstimateRows
NULL NULL 139565.4
0 0.4722133 139565.4
9.783944 0.9565646 139565.4
添加索引以后的分析
EstimateIO EstimateCPU EstimateRows
NULL NULL 122291.7
0 0.4172959 122291.7
9.783944 0.9565646 122291.7
展开