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

Inserção lenta do MySQL


Sempre que uma página B-Tree está cheia, ela precisa ser dividida, o que leva algum tempo. O desempenho da inserção também é mais lento quanto mais índices você tiver, pois cada inserção atualiza todos os índices. 9000 já declarou corretamente que seu índice (timestamp,staff) cobre o índice (timestamp) em 95% dos casos, há casos muito raros em que um índice de coluna única (timestamp) será necessário para um melhor desempenho.

Há também algumas tarefas periódicas em segundo plano que ocasionalmente podem retardar uma ou duas inserções ao longo de um dia.

Além disso, outro motivo para atrasos é simplesmente a atividade do banco de dados. Se você tiver transações que estão bloqueando páginas que a inserção precisa atualizar (ou divisão de página), a inserção deve aguardar até que os bloqueios de gravação sejam aceitos. Essas outras atividades nem precisam iniciar uma transação de fato, e nem precisam ser contenção de leitura-leitura; você também pode ter contenção de gravação/gravação ou uma fila criada a partir de atividades pesadas.

E a última razão possível - seu servidor de banco de dados está sem recursos, seja memória ou CPU ou i/o de rede. Há muito que um servidor pode fazer, então ele terá que esperar até que tenha recursos suficientes.