Duplicar posibles:
MySQL: Alternatives to ORDER BY RAND()ORDER BY RAND() alternativa
Actualmente tengo una consulta que termina ORDER BY RAND(HOUR(NOW())) LIMIT 40
para obtener 40 resultados aleatorios. La lista de resultados cambia cada hora.
Esto elimina la caché de consultas, lo que perjudica el rendimiento.
¿Puede sugerir una forma alternativa de obtener un conjunto aleatorio (ish) de resultados que cambien cada cierto tiempo? No tiene que ser cada horas y no tiene que ser totalmente aleatorio.
yo preferiría un resultado aleatorio, en lugar de clasificación en un campo arbitrario en la tabla, pero voy a hacerlo como último recurso ...
(esta es una lista de nuevos productos que yo quiero barajar un poco de vez en cuando).
¿Podría proporcionarnos alguna información sobre en qué está codificando esto? Sugeriría hacer esto en código en lugar de sql. – jamesaharvey
¿Inner ordenó 'SELECT'? –
¿Podría simplemente almacenarlo en caché en el nivel de la aplicación? – Greg