日期:2014-05-16  浏览次数:20481 次

在 sql2000 中 in 和 like 时 索引 会作用吗?
在 sql2000 中 in  和 like 时 索引 会作用吗?

例如:

select *  from  tb where  custid in (1,2,3)

custid 加了索引,不是主键和唯一


select *  from  tb where  addr  like '南海%'

addr   加了索引 


请问上面2条词句索引 会作用 吗, 加了索引会缩短查询时间 吗



------解决方案--------------------
可以看一下执行计划,看看走没有走索引,一目了然了!
------解决方案--------------------
in 一般可以走索引的

而 like,如果是:select *  from  tb where  addr  like '南海%' 也是可以走索引的,而 '%南海%'这个走不了索引的。

加了索引,一般都能提高查询速度
------解决方案--------------------
in 的本质是or ,可能会用到索引,like 的话基本就用不到索引了.
你可以看看执行计划阿
------解决方案--------------------
select *  from  tb where  custid in (1,2,3)  --- 会用到索引
select *  from  tb where  addr  like '南海%'  --- 用不到索引
你看看执行计划吧




------解决方案--------------------
引用:
在 sql2000 中 in  和 like 时 索引 会作用吗?

例如:

select *  from  tb where  custid in (1,2,3)

custid 加了索引,不是主键和唯一


select *  from  tb where  addr  like '南海%'

addr   加了索引 


请问上面2条词句索引 会作用 吗, 加了索引会缩短查询时间 吗
用的到索引,能不能减少时间,要看执行计划
------解决方案--------------------
源代码贴上来看看,alert的索引没用上