+ -
当前位置:首页 → 问答吧 → between和<>

between和<>

时间:2010-07-01

来源:互联网

between and 和< and >
这两个区别在哪?哪个性能高?

作者: OSOMC   发布时间: 2010-07-01

between and 和< and >
这两个区别在哪?


比如:
between f1 and f2
字段>=f1 and f1<=f2

一样的,between and会被转换成>= ,<=,但是between and中间有一步就是转义成 >= <= 
所以直接用>= <= 会好一些。
实际上那点转义的消耗,可以忽略。

作者: WWWWA   发布时间: 2010-07-01

X betwee N and M 与 X>N and X<M 功能上不同。
X betwee N and M 与 X>=N and X<=M 功能上相同。

X betwee N and M性能上略高于 X>=N and X<=M

作者: ACMAIN_CHM   发布时间: 2010-07-01

谢谢2,3搂
between and >= <=
但二位的回答好像略有不同,到底哪个性能好一些?
这些性能对于访问量大的时候是否是必须要注意的

作者: OSOMC   发布时间: 2010-07-01

#1楼一样的,between and会被转换成>= ,<=,但是between and中间有一步就是转义成 >= <=
所以直接用>= <= 会好一些。
实际上那点转义的消耗,可以忽略。


MYSQL中根本不是这样

作者: ACMAIN_CHM   发布时间: 2010-07-01

你可以测试一下,EXPLAIN SQL,记录多一些,与字段类型有关系

作者: wwwwb   发布时间: 2010-07-01

在目前的MYSQL版本中 BETWEEN 会快估计45%, 与字段类型无关。

作者: ACMAIN_CHM   发布时间: 2010-07-01

引用 6 楼 acmain_chm 的回复:

在目前的MYSQL版本中 BETWEEN 会快估计45%, 与字段类型无关。

优化器不会把 >= and <= 优化?
他丫的太不智能了

作者: SQL_Hhy   发布时间: 2010-07-01

看两斑竹PK,真爽。坐地板围观。

作者: zuoxingyu   发布时间: 2010-07-01

引用 6 楼 acmain_chm 的回复:

在目前的MYSQL版本中 BETWEEN 会快估计45%, 与字段类型无关。

要是能从实现的角度解释一下,就好了。
理论上,两者应该做到同样快比较好。

作者: iihero   发布时间: 2010-07-01

如果索引做的合理,差别应该是比较微小的,通常情况下我都不用 beteen and 而是用 >=和< beteen and 包含两个端点,在很多处理时间段的情形下都不好用

作者: lufancy   发布时间: 2011-07-15