我有一個問題,這個查詢....或者,沒有像我會很快。目前,'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) –