[ot] selezionare una a caso da un db.
Nicola Delbono
delbono a dsc.it
Lun 18 Mar 2002 17:14:00 UTC
>in base al numero casuale. quindi decisamente abbastanza pesante.
Non so l'ho presa dal libro Mysql di Monty Burns Widelnius.
Le altre soluzioni sono
SELECT ..., RAND() as rand_col FROM ... ORDER_BY rand_col
ma dice che il query optimizwer si incacchia perchè pensa che la colonna rand_col sia una costante e
la salta nell'order, quindi andrebbe sostituita con
SELECT ..., (colID*0 + RAND()) as rand_col order by rand_col
//////////////////////////
oppure aggiungi un campo randval indicizzato
ed in fase di inserimento record
inserisci un valore random non crescente
così hai quel campo rand con cui ordinare le query.
però per un stessa query hai uno stesso risultato
quindi è una soluzione che puo' star bene in pochissimi casi.
Maggiori informazioni sulla lista
Lug
|