No meu servidor com sua configuração meu desempenho base é o seguinte:
- InnoDB:5,71s
- MyISAM:2,50s
Isso não é ruim no meu livro, mas pode usar alguns ajustes.
O desempenho do seu InnoDB pode ser melhorado em várias frentes:
Aumentar innodb_buffer_pool_size
- Esta é a variável de configuração do InnoDB mais importante. Idealmente, deve ser 70-80% de sua RAM disponível em um servidor dedicado ao MySQL e InnoDB.
- Aumentando
innodb_buffer_pool_size
no meu servidor para 2G (mais que suficiente para este teste) diminuiu o tempo do InnoDB para 4,60s
Faça do id a CHAVE PRIMÁRIA
- InnoDB agrupa seus dados com base em PRIMARY KEY. Quando você não declara um, o InnoDB gera um aleatório implicitamente. Ter uma chave primária sequencial (id) é mais rápido do que uma chave aleatória.
- Fazer id como PRIMARY KEY no meu servidor diminuiu o tempo do InnoDB para 3,80s
Atualize seu MySQL/InnoDB
Com o MySQL 5.1+, o MySQL suporta mecanismos de armazenamento conectáveis. Especificamente o novo InnoDB Plugin .
O novo mecanismo InnoDB oferece muitos aprimoramentos de desempenho que podem têm efeitos significativos sobre esse tipo específico de consulta.
De importância:
- A partir do MySQL 5.1.38, o plug-in InnoDB está incluído no MySQL
- A partir do MySQL 5.1.43, o plug-in InnoDB não está apenas incluído, mas é o mecanismo padrão do MySQL