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

Inserções lentas do MySQL


Pode ser um momento para particionamento horizontal e mover o campo blob para uma tabela separada. Neste artigo em 'A Quick Side Note on Vertical Partitioning' o autor remove um campo varchar maior de uma tabela e aumenta a velocidade de uma consulta sobre ordem de magnitude.

O motivo é que a passagem física dos dados em um disco se torna significativamente mais rápida se houver menos espaço para cobrir, portanto, mover campos maiores para outro lugar aumenta o desempenho.

Além disso (e você provavelmente já faz isso) é benéfico diminuir o tamanho da sua coluna de índice para seu mínimo absoluto (char(32) na codificação ascii para md5), porque o tamanho da chave é diretamente proporcional à velocidade de seu uso .

Se você fizer várias inserções ao mesmo tempo com tabelas InnoDB, poderá aumentar significativamente a velocidade das inserções envolvendo-as na transação e fazendo múltiplas inserções em uma consulta:
START TRANSACTION
INSERT INTO x (id, md5, field1, field2) values (1, '123dab...', 'data1','data2'),(2,'ab2...','data3','data4'),.....;
COMMIT