【发布时间】:2013-01-05 23:07:46
【问题描述】:
我的问题基于 SO MySQL select 10 random rows from 600K rows fast。 众所周知
SELECT column FROM table
ORDER BY RAND()
LIMIT 10
对于大表来说太慢了,另一种技巧和方法用于提取一些行。
但是如果我使用 WHERE:
SELECT column FROM table
WHERE colA=123
ORDER BY RAND()
LIMIT 10
如果WHERE 实际上至少排除了99.99% 600k 中的错误行,那么性能如何?
换句话说,在这个查询中首先起作用的是WHERE 还是ORDER BY RAND()?
如果WHERE 先工作,这是否意味着ORDER BY RAND () 只排序60 行(不是600k)并且工作速度很快?
【问题讨论】:
标签: mysql performance select random sql-order-by