网站 开发 备案代理,装修平台代理,百度销售推广,白银市住房和城乡建设局网站mysql随机取数据最高效率的方法发现在SQL语句里有一个 ORDER BY rand() 这样的一个语句#xff0c;这个说是用着方便#xff0c;但是效率实在是太低了#xff0c;于是我用了以下的方法来优化#xff0c;就是用JOIN表的方法来达到这个取随机数据行的方法#xff0c;你可以用…mysql随机取数据最高效率的方法发现在SQL语句里有一个 ORDER BY rand() 这样的一个语句这个说是用着方便但是效率实在是太低了于是我用了以下的方法来优化就是用JOIN表的方法来达到这个取随机数据行的方法你可以用 EXPLAIN SQL语句来分析一下以下两条SQL语句的效率当然数据量至少上10万以上才能看出性能。[1]普通方法, 效率太低SELECT * FROM table ORDER BY rand() LIMIT 10;[2] JOIN的方法SELECT *FROM table AS t1 JOIN (SELECT ROUND(RAND() * ((SELECT MAX(id) FROM table) – (SELECT MIN(id) FROM table)) (SELECT MIN(id) FROM table)) AS id) AS t2WHERE t1.id t2.idORDER BY t1.id LIMIT 10;原创文章转载请注明 转载自搞代码微信 赏一包辣条吧~支付宝 赏一听可乐吧~