2011-05-22 16 views

cevap

23
SELECT column FROM table 
ORDER BY RANDOM() 
LIMIT 20 
+8

Bu çok yavaş olmasına rağmen uyarılırsınız, 20k'dan fazla satırınız varsa bunu yapmayın. – Johan

+0

@Johan Bu sorunun yayınlanmasından bu yana optimize edilmiş olup olmadığından emin değilim, ancak 20k + satırlarındaki bir 'EXPLAIN', 'RANDOM() 'sort tuşu ve sort tuşu olarak kullanılan diğer sütunlar için aynı maliyeti gösterir. (örneğin, derecelendirme). –

+0

@ChrisCirefice, eğer "rating" sütunu zayıf bir kardinaliteye sahipse (veya endekslenmemişse), o zaman aynı maliyetler olacaktır, çünkü indeksler sadece koşullar doğruysa kullanılabilir. Daha fazla ayrıntı olmadan söyleyebileceğim tek şey bu. – Johan