MySQL 优化案例 — RAND () 优化

原文可能无法访问了,如果运气好的话,你还能看到我们对原文的 存档

摘要

MySQL中使用ORDER BY RAND()效率低下,会多次执行。文章通过对比不同SQL的执行计划和执行耗时,解释了这个问题。作者尝试了常量等值检索、改造成普通子查询模式以及改造成JOIN关联查询的方式。结果显示,这些方式的执行计划和执行耗时都不理想。因此,无论如何改造,使用RAND()函数乘以常量进行检索仍然效率较差。根据新的上下文,主要是通过对比不同的SQL执行计划和执行耗时,来说明使用ORDER BY RAND()效率低下的问题。作者尝试了常量等值检索、改造成普通子查询模式以及改造成JOIN关联查询的方式,但结果都不理想。无论如何改造,使用RAND()函数乘以常量进行检索仍然效率较差。此外,还提到了一种改造范围查找的方法,通过使用LIMIT 1来解决查询不到记录的问题。

欢迎在评论区写下你对这篇文章的看法。

评论

首页 - Wiki
Copyright © 2011-2026 iteam. Current version is 2.154.0. UTC+08:00, 2026-02-24 15:50
浙ICP备14020137号-1 $访客地图$