sql >> Databasteknik >  >> RDS >> Mysql

MySQL långsam fråga - Väntar på query cache lock

Jag löste mitt långsamma frågeproblem. För att sammanfatta problemet tog det 22 sekunder att fråga 7000 rader från en 20 miljoner rad, 1,7 GB indexerad tabell. Problemet var att cachen var för liten och frågan måste gå till disk för varje fråga. Jag skulle tro att diskåtkomsten skulle vara snabbare än vad jag såg eftersom jag gick från en indexerad kolumn så mängden data som läses av disken borde ha varit liten. Men jag gissar att det är mycket omkostnader med åtkomst till InnoDB-lagringen på disken.

När jag ställde in innodb_buffer_pool_size=1024M i my.ini-filen skulle den initiala frågan ta lång tid, men alla efterföljande frågor skulle sluta på under en sekund.

Tyvärr hjälpte inte profileringen riktigt.



  1. Hur SLEEP() fungerar i MariaDB

  2. hur man kontrollerar typ av värde i postgres

  3. Postgres 9.4 jsonb-array som tabell

  4. Ett användningsfall för sp_prepare / sp_prepexec