1. 程式人生 > >mysql判斷奇數偶數,並思考效率

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; 

 如果有其他判斷方法請聯絡我,繼續新增

效率

本來以為最後一種效率最慢,可是最後發現是正則,百思不得其解,還請大佬指點

在千萬條資料下查詢都沒有用到索引,因此在千萬級資料下,要特別注意了