今天写了一个函数随机返回mysql中的一个数据 去网上参考了一个 发现返回速度巨慢 数据库里面有60w行数据的时候 了解了一下是因为order 好像会造成全表扫描所以速度慢 下面是优化方法
SELECT `tel` FROM `tel` WHERE `islock` =0 and `isres` =0 order by rand() LIMIT 1
优化方法
SELECT * FROM `tel` WHERE `islock`=0 AND id >= (SELECT floor(RAND() * (SELECT MAX(id) FROM `tel` WHERE `islock`=0))) LIMIT 1
Comments | NOTHING