日期:2014-05-18  浏览次数:20592 次

where col like '08%' 和 where col like '08888%' 哪个效率高些?
where   col   like   '08% '   和   where   col   like   '08888% '   哪个效率高些?

col列是聚集索引,col列的内容   08开头的   必然是   08888这样的内容。

谢谢大家。

------解决方案--------------------
当然是后面的高
------解决方案--------------------
了解错了,如果是你所说的“col列的内容 08开头的 必然是 08888这样的内容”
那么第一个效率比较高
------解决方案--------------------
08开头的 必然是 08888这样的内容。
------------
一样
------解决方案--------------------
效率应该一样的吧
------解决方案--------------------
我想是一樣的
------解决方案--------------------

既然08必然是08888 那么08888匹配时间比08的短 sql会一开始就找08888和08查找这2个的时间几乎差不多
但是08888后的需要匹配的字符串比08的要短 所以08888的速度快!

------解决方案--------------------
我也觉得是一样的
------解决方案--------------------
因为你的:
col列的内容 08开头的 必然是 08888这样的内容。

这句话,所以两者效率一致。
------解决方案--------------------
当然是08888 高
------解决方案--------------------
col列的内容 08开头的 必然是 08888这样的内容

如果是这样的话,效率是一样的
------解决方案--------------------
一样的,前者的搜索范围更高些
------解决方案--------------------
数据量不大的情况下,本人认为速度无法用肉眼来区别。几乎一样。
------解决方案--------------------
我完全不知道那个更快一点,连猜都猜不出来,然后写了一个测试,因为数据很少,只有2000条,所以判断不出那个快,谁有比较好的环境测试一下就知道
------解决方案--------------------
前者匹配的少些,应该更快。
------解决方案--------------------
效率一样

------解决方案--------------------
michaelgy(guye) ( ) 信誉:99 2007-09-19 14:52:07 得分: 0


前者匹配的少些,应该更快。


-----------------
终于看到一个想法和我一样的!
------解决方案--------------------
呵呵,一样
------解决方案--------------------
我试过,前者要快
------解决方案--------------------
应该是前者快(匹配少),是不是用left(col,2)= '08 '会更快
------解决方案--------------------
一样