sql效率问题

小弟请教一个问题,为了方便写,我用以下两个示例:

1. select * from table where id >= 1 & id <= 5;

2. select * from table where id = 1 or id =2 or id = 3 or id = 4 or id =5;

这两个sql的功能是一样的,我这里为了方面,只写了1到5,实际情况中可能数量会很大

请问这两个sql的查询效率哪个快?要快多少呢?

谢谢

作者: Pro_sky   发布时间: 2011-05-19

这毫无疑问是第一种比较好了啊。。因为要是数据很多的话,若你要用or语句一个一个的将其写出来 这本来就会浪费好长时间的。。其实这两个执行的效率都是差不多的。。

作者: yangdongit   发布时间: 2011-05-19

回复 yangdongit


    哦, 我知道写法上肯定第一种简单,但是我现在有需要就是要写成第二种形式的,其实这么长的sql也不用自己去写,程序会自己去拼接的

我是担心第二种会找很多索引,会不会影响效率呢

作者: Pro_sky   发布时间: 2011-05-19