Tôi đi giải pháp.
SELECT p1.ID, p1.post_content, p1.post_title, p1.post_date, p1.post_name
FROM posts as p1 JOIN
(SELECT CEIL(RAND() *
(SELECT MAX(ID)
FROM posts)) AS id)
AS p2
WHERE p1.ID >= p2.id
ORDER BY p1.ID ASC
LIMIT 0, 24
Điều này nhanh hơn truy vấn của tôi.
MySQL chọn 10 hàng ngẫu nhiên từ 600K hàng nhanh
Đây là giải pháp.
Cảm ơn