mysql中有4类运算符,它们是:
算术运算符
比较运算符
逻辑运算符
位 *** 作运算符
算术 *** 作符
算术 *** 作符是SQL中最基本的 *** 作运算符,主要有一下几种运算符:
+(加)、 -(减)、 *(乘)、 /(除)、 %(求余或者模)
比较运算符
一个比较运算符的结果总是1,0或者是NULL。MySQL中的比较运算符有:
=、<=>、<>(!=)、<=、>=、>、IS NULL、IS NOT NULL、LEAST、GREATEST、BETWEEN . . . AND. . . 、ISNULL、IN、NOT IN、LIKE、REGEXP
逻辑运算符
逻辑运算符的求值所得结果均为TRUE、FALSE或NULL。
逻辑运算符有:
NOT 或者 !
AND 或者 &&
OR 或者 ||
XOR(异或)
位运算符
位运算符是用来对二进制字节中的位进行测试、移位或者测试处理。位运算符有:
位或(|)
位与(&)
位异或(^ )
位左移(<<)
位右移(<<)
位取反(~)
哎,你那个是无符号整数,也就是必然>=0的?那么>=0还有必要判断么?你这两个=1和>0也不是等价的啊。如果是status=1 or status=0和status>1做效率对比,才有意思。
至于status=1 or status=0和status>1,你给定的前提下,我认为前者效率更高。从计算机组成原理上看,=的判断是做异或运算,结果为0则相等;>的判断是做减法运算,结果符号位为0则被减数大。异或运算的效率要高于减法。而对于or算符,如果前者成立,则后者不需计算,因此建议你把or前面的表达式换成数据库中最多的一项(0或1)。当然,这只是我的理论分析,正确与否还有待你实践检验
以上。
路过的老狼
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)