Czy to prawda, że wydajność ORDER BY rand()
jest bardzo powolna w porównaniu do innych rozwiązań? Jeśli tak, jakie są lepsze sposoby wybierania losowych wierszy z bazy danych?MySQL wybierz losowy wiersz - rand() wydajność
Moje zapytanie:
SELECT sName FROM bpoint WHERE placeID=? ORDER BY rand() LIMIT 1;
To zależy od tego, jak dużo jest danych. Jak duży stół mówimy? – bestprogrammerintheworld
To również zależy od tego, co dokładnie masz na myśli przez "losowy": czy potrzebujesz, aby każdy rekord był wybierany z takim samym prawdopodobieństwem? Czy też idealnie jednorodny rozkład nie jest konieczny? – eggyal
5-10 000 wierszy. Pożądane równe prawdopodobieństwo. –