2011-05-22 19 views

Respuesta

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

Tenga en cuenta que esto es muy lento, no lo haga si tiene más de 20k filas. – Johan

+0

@Johan No estoy seguro de si esto se optimizó desde la publicación de esta pregunta, pero un 'EXPLAIN' en 20k + filas muestra el mismo costo para la clave de clasificación' RANDOM() 'y cualquier otra columna utilizada como la clave de clasificación (por ejemplo, 'calificación'). –

+0

@ChrisCirefice, si la columna 'calificación 'tiene una cardinalidad pobre (o no está indexada), tendrá los mismos costos, ya que los índices solo se pueden usar si las condiciones son las correctas. Sin más detalles, eso es todo lo que puedo decir. – Johan

Cuestiones relacionadas