mysql判断奇数偶数,并思考效率

 -- 按位与

select * from cinema WHERE id&1; 

-- id先除以2然后乘2 如果与原来的相等就是偶数

select * from cinema WHERE id=(id>>1)<<1; 

-- 正则匹配最后一位

select * from cinema WHERE id regexp '[13579]$';
select * from cinema WHERE id regexp '[02468]$';

-- id计算

select * from cinema WHERE id%2 = 1;
select * from cinema WHERE id%2 = 0;

-- 与上面的一样

select * from cinema WHERE mod(id, 2) = 1;
select * from cinema WHERE mod(id, 2) = 0;

-- -1的奇数次方和偶数次方

select * from cinema WHERE POWER(-1, id) = -1;
select * from cinema WHERE POWER(-1, id) = 1; 

如果有其他判断方法请联系我,继续添加

效率

本来以为最后一种效率最慢,可是最后发现是正则,百思不得其解,还请大佬指点

在千万条数据下查询都没有用到索引,因此在千万级数据下,要特别注意了

猜你喜欢

转载自blog.csdn.net/zhazhagu/article/details/80452473