MySQL order by rand() 随机取一条数据优化方案
终极优化方案
需要优化的sql:
SELECT * FROM `table` ORDER BY rand() LIMIT 1;
优化方案:
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 t2
WHERE t1.id >=
原创
2020-12-24 14:14:19 ·
1114 阅读 ·
0 评论