Có đúng là hiệu suất ORDER BY rand()
rất chậm so với các giải pháp khác không? Nếu có, cách tốt hơn để chọn (các) hàng ngẫu nhiên từ cơ sở dữ liệu là gì?MySQL chọn hàng ngẫu nhiên - rand() hiệu suất
truy vấn của tôi:
SELECT sName FROM bpoint WHERE placeID=? ORDER BY rand() LIMIT 1;
Nó phụ thuộc vào bao nhiêu dữ liệu có. Chúng ta đang nói về bàn lớn đến mức nào? – bestprogrammerintheworld
Nó cũng phụ thuộc vào những gì, chính xác, bạn có nghĩa là "ngẫu nhiên": bạn có yêu cầu mỗi bản ghi được chọn với xác suất bằng nhau không? Hoặc là một bản phân phối hoàn toàn đồng nhất không cần thiết? – eggyal
5-10.000 hàng. Xác suất bằng nhau mong muốn. –