linux user group brescia

immagine del castello

Archivio della mailing list

[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