I have mysql database 60k rows, 4 columns (ID,Keyword,Status,Updet ) and try to select rand fast using this :
SELECT Keyword
FROM keyword AS r1
JOIN (
SELECT CEIL(RAND() *(SELECT MAX(id) FROM keyword)) AS id
) AS r2
WHERE r1.id >= r2.id
ORDER BY r1.id ASC LIMIT 1
but the problem is i can't select the row with conditions Updet='published', and have try
SELECT Keyword
FROM keyword AS r1
JOIN (
SELECT CEIL(RAND() *(SELECT MAX(id) FROM keyword)
) AS id) AS r2 ON r1.id >= r2.id
WHERE Updet='published'
ORDER BY r1.id ASC LIMIT 1
not working, please help..