MySQL: alternatywy dla ORDER BY RAND ()

Czytałem o kilku alternatywach dla MySQLORDER BY RAND() funkcja, ale większość alternatyw ma zastosowanie tylko w przypadku, gdy potrzebny jest pojedynczy losowy wynik.

Czy ktoś ma jakiś pomysł, jak zoptymalizować zapytanie, które zwraca wiele losowych wyników, takich jak:

   SELECT u.id, 
          p.photo 
     FROM users u, profiles p 
    WHERE p.memberid = u.id 
      AND p.photo != '' 
      AND (u.ownership=1 OR u.stamp=1) 
 ORDER BY RAND() 
    LIMIT 18 

questionAnswers(7)

yourAnswerToTheQuestion