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

MySQL langsom forespørgsel - Venter på forespørgselscachelås

Jeg løste mit langsomme forespørgselsproblem. For at opsummere problemet tog det 22 sekunder at forespørge 7000 rækker fra en 20 mio. række, 1,7 GB indekseret tabel. Problemet var, at cachen var for lille, og forespørgslen skulle til disk for hver forespørgsel. Jeg ville tro, at diskadgangen ville være hurtigere end det, jeg så, fordi jeg gik fra en indekseret kolonne, så mængden af ​​data, der blev læst fra disken, burde have været lille. Men jeg gætter på, at der er en masse overhead med at få adgang til InnoDB-lageret på disken.

Når jeg indstillede innodb_buffer_pool_size=1024M i my.ini-filen ville den indledende forespørgsel tage lang tid, men alle efterfølgende forespørgsler ville afslutte på under et sekund.

Desværre hjalp profileringen ikke rigtig.



  1. MySQL - Vedvarende forbindelse vs forbindelsespooling

  2. Vil SQL-opdatering påvirke dens underforespørgsel under opdateringskørsel?

  3. Sådan opretter du et beregnet felt i Access

  4. Forskellige måder at bruge SQL CONVERT date-funktionen på