Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Consulta lenta do MySQL - Aguardando o bloqueio do cache de consulta


Resolvi meu problema de consulta lenta. Para resumir o problema, levava 22 segundos para consultar 7.000 linhas de uma tabela indexada de 20 milhões de linhas e 1,7 GB. O problema era que o cache era muito pequeno e a consulta tinha que ir para o disco para cada consulta. Eu pensaria que o acesso ao disco seria mais rápido do que eu estava vendo porque eu estava saindo de uma coluna indexada, então a quantidade de dados lidos no disco deveria ser pequena. Mas acho que há muita sobrecarga ao acessar o armazenamento do InnoDB em disco.

Depois de definir innodb_buffer_pool_size=1024M no arquivo my.ini, a consulta inicial levaria muito tempo, mas todas as consultas subsequentes terminariam em menos de um segundo.

Infelizmente, o perfil não ajudou muito.