优化大型 MySQL 表中的随机行选择
从大型 MySQL 表中高效检索单个随机行对于许多应用程序至关重要。一种常见的方法是获取所有行 ID,随机选择一个,然后检索相应的行。
对于具有连续 ID 且没有间隙的表,找到最大 ID 并生成该范围内的随机 ID 提供了一种快速解决方案。 然而,如果间隙存在但相对不频繁,则随机性稍差但仍然实用的方法是估计间隙计数,获取最大 ID,计算随机 ID,并检索 ID 大于或等于计算值的第一行值。
至关重要的是,避免使用 ORDER BY RAND()
进行随机行选择。这种方法常常会导致全表扫描,达不到快速检索的目的。 同样,使用 GUID 进行排序同样效率低下。
以上是如何快速从大型 MySQL 表中检索随机行?的详细内容。更多信息请关注PHP中文网其他相关文章!