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

Como otimizar os índices do mysql para que as operações de INSERT aconteçam rapidamente em uma tabela grande com gravações e leituras frequentes?


As operações de gravação para uma única linha em uma tabela de dados devem não levar 5 segundos, independentemente do tamanho da mesa.

Seu índice clusterizado é baseado no campo timestamp? Se não, deveria ser, então você não está escrevendo no meio da sua mesa em algum lugar. Além disso, certifique-se de estar usando tabelas InnoDB - MyISAM não é otimizado para gravações.

Eu proporia escrever em dois tabelas:uma tabela de longo prazo, uma tabela de relatórios de curto prazo com pouca ou nenhuma indexação, que é então descartada conforme necessário.

Outra solução seria usar o memcached ou um banco de dados na memória para os dados de relatórios ao vivo, para que não haja acertos no banco de dados de produção.

Mais um pensamento:exatamente quão "vivo" deve ser qualquer um desses relatórios? Talvez recuperar uma nova lista em uma base cronometrada versus uma vez para cada visualização de página seria suficiente.