[Php-it] [MySQL] GROUP BY molto lento
Eugenio Tacchini
eugenio.tacchini at unicatt.it
Thu Jun 15 14:18:00 CEST 2006
At 12.46 15/06/2006 +0200, you wrote:
>>devo eseguire una query che mette in INNER JOIN tra loro diverse tabelle,
>>il recordset derivante e' di circa 150000 record, la query per essere
>>eseguita necessita di alcuni millisecondi.
>>L'aggiunta di un group by su di un campo aumenta il tempo di esecuzione
>>in modo impressionante: si passa a piu' di 5 secondi; per avere un'idea
>>del tipo di raggruppamento, dopo il group by il recordset derivante e' di
>>circa 11000 record.
>>[...]
>>
>>E' normale? Avete consigli per aumentare le prestazioni?
>
>Potrebbe essere normale, dipende dalle impostazioni di mysql. Con buona
>probabilità il risultato della query su cui eseguire l'aggregazione è
>troppo grosso per entrare nel buffer riservato alle operazioni di sort
>e la query viene eseguita paginando su disco.
>
>Detto ciò, non uso mysql e non so esattamente quale sia la manopola su cui
>agire, ma presumo possa essere sort_buffer_size:
Ciao Matteo,
grazie per la risposta.
Ho provato ad aumentare il buffer a dismisura (300 mega) ma non cambia
nulla, la query e' sempre lenta...il settaggio del buffer e' eseguito
correttamente perche' visualizzando le variabili vedo che e' cambiato.
Ciao.
Eugenio
------------------------------------------------------
DaDaBIK - DaDaBIK is a DataBase Interfaces Kreator
http://www.dadabik.org/
------------------------------------------------------
More information about the Php-it
mailing list