rand() w SQL

Nie sądziłem do wczoraj, że w SQL-u (dokładniej na pewno w mysql) jest funkcja rand(), która może nam pomóc np. w wyborze losowej reklamy na stronę. Dzięki tej funkcji wybieramy i tak jeden wiersz. Jest to o tyle przydatne, że jeśli stosujemy ActiveRecord tworzy nam się jeden obiekt. A nie 100 obiektów, z których później wybieramy ten 1 losowy element.

Przykład zastosowania:

Użyłem dodatkowo php-owej funkcji mt_rand(), aby były bardziej unikatowe losowania.
Niestety to rozwiązanie nie nadaje się do tabel, w których mamy bardzo dużą ilość danych. Ponieważ zapytanie musi na początku wygenerować dla każdego wiersza liczbę myRandom, a dopiero następnie stosuje LIMIT.