我有一个问题,这个查询....或者,没有像我会很快。目前,'marketingDatabase'表格大约有11万行,但在下个月内,它可能会接近10万行,到3月份可能增长到50万。优化随机记录查询
我知道使用ORDER BY RAND()是不是要走的路,但它是我已经得到了工作的唯一的东西。我试过其他的东西,但是第一个WHERE语句似乎把我抛弃了。我使用的是PHP,所以我也可以在PHP中处理其中的一些。
什么是最好的方法,该查询,从适合在WHERE语句行选择一个随机行?
这里的查询:
SELECT id
FROM `marketingDatabase`
WHERE do_not_call != 'true'
AND status = 'Pending'
AND install_id = 'AN ID HERE'
AND NOT EXISTS(
SELECT recordID
FROM reminders rem
WHERE rem.id = marketingDatabase.id
)
ORDER BY rand()
LIMIT 1
如何使这项工作更有什么想法?我只需要一个随机的'身份证'。
的[MySQL的可能重复:替代品以ORDER BY兰德()](http://stackoverflow.com/questions/1823306/mysql-alternatives-to-order-by-rand) –