此查詢在某些where子句之後從500k記錄的表中提取隨機Movie。該查詢的速度範圍從0.016s到0.450s。任何人都可以看到一種改進方法,使其大約比0.450大0.016?如何提高此查詢獲取隨機行的速度
SELECT movie.ID, imdbID, Title, Y
ear, Rating, Runtime, Genre, Metacritic,
imdbRating, imdbVotes, Poster, FullPlot,
Language,trailerUrl, type
from moviedb.movie
INNER JOIN (
SELECT RAND()*(
SELECT MAX(ID)
FROM movie
) AS ID) AS t
ON movie.ID >= t.ID
WHERE year > 2004
AND year < 2015
AND imdbRating > 6.9
AND imdbvotes > 9999.9
ORDER BY movie.id LIMIT 1
@MarcB它不是一個笨蛋。我試圖改進一個類似於該問題頂部答案的查詢,但它不同於此答案,因爲該答案在沒有任何地方條件的情況下獲取了隨機行。另外我不想獲得10行,只有一個 – code511788465541441 2014-11-05 21:56:07
並不重要,如果它不是你的確切查詢。這是答案中的重要概念。 – 2014-11-05 21:58:50