[MontelLUG] Query mysql e velocitą: cercasi consigli

Samuele Zanin samuele.zanin a tiscali.it
Lun 10 Gen 2011 22:31:14 CET


Il giorno lun, 10/01/2011 alle 18.16 +0100, Daneel Olivaw ha scritto:

> 
> Ci sono 3 strade (o almeno queste sono quelle a cui sono arrivato io):
> 1) fare un "select * [condizioni, ecc.]", mettere i risultati in
> un'array o simile e se non vuota andare avanti con la fase di gestione
> dei dati, altrimenti "Gnč gnč";
>   - vantaggi: si fa la guery una volta sola, se dą risultato positivo
> bene, altrimenti amen;
>   - svantaggi: se l'esito č positivo, bisogna attendere il
> completamento della query prima di poter passare alla fase successiva;

Bisognerebbe vedere che hai nella from/where/group by.
Posto che non ho a che fare con mysql e che presumo nella from ci sia
pił di qualche tabella, sia che usi il count che la prima select deve
comunque scorresi le tabelle e tirare fuori i dati. Il vantaggio del
count č che il server non deve caricarsi in memoria tutti i dati e
trasferirli al client ma soltanto contare i record.
Il vantaggio della prima select č che una volta terminata la select hai
gią i dati pronti.
Piuttosto, guardati l'execution plan e controlla gli indici.
Al limite prova a generare un po' di dati e vedere come si comporta.







More information about the montellug mailing list