MySQL: ¿Cambia aleatoriamente un resultado de consulta limitado?

Posible duplicado:
Muestras aleatorias simples de una database (My) Sql

¡Hola!

Digamos que tengo una tabla de usuarios. Quiero una consulta que mezcle el resultado y solo muestre 5 usuarios. ¿Cómo hago eso en la consulta de MySQL sin usar ningún php?

Puedes usar rand() , pero el performance es terrible

 select * from users order by rand() limit 5; <-- slow 

Sugeriría, almacene la list de todas las identificaciones de usuario en una matriz de serialization y la memory caching en un file de disco. (actualización periódica)

Entonces, puedes volver a serializarlo usando PHP, y usar PHP array_rand para seleccionar 5 usuarios aleatorios.

Para search la información completa, puede hacer

 select * from users where user_id in(...); <-- very fast 
 SELECT user FROM users ORDER BY RAND() LIMIT 5