Mysql
 sql >> Database >  >> RDS >> Mysql

Query lenta MySQL - In attesa del blocco della cache delle query

Ho risolto il mio problema di query lenta. Per riassumere il problema, ci sono voluti 22 secondi per interrogare 7000 righe da una tabella indicizzata da 20 milioni di righe e 1,7 GB. Il problema era che la cache era troppo piccola e la query doveva andare su disco per ogni query. Penserei che l'accesso al disco sarebbe stato più veloce di quello che stavo vedendo perché stavo uscendo da una colonna indicizzata, quindi la quantità di dati letti dal disco avrebbe dovuto essere piccola. Ma suppongo che ci sia molto sovraccarico con l'accesso allo spazio di archiviazione InnoDB su disco.

Una volta impostato innodb_buffer_pool_size=1024M nel file my.ini, la query iniziale richiederebbe molto tempo, ma tutte le query successive finirebbero in meno di un secondo.

Sfortunatamente, la profilazione non è stata di grande aiuto.