Recentemente atualizei meu servidor MySQL de 5.1 para 5.6 (rodando em CentOS 6.x). Desde a atualização, quando tento realizar determinadas tarefas da tabela, as consultas demoram MUITO. Isso realmente está prejudicando minhas iterações do ciclo de desenvolvimento, porque quando um teste deveria levar 1 segundo para ser executado, ele leva de 1 a 2 minutos para ser executado e isso realmente mata minha produtividade.
Consultas que estão demorando muito:
- DEIXAR E CRIAR
- INSERTS depois disso CREATE
- TRUNCAR
Tenho a mesma versão do MySQL (5.6.15) instalada no meu Mac local. Estou trabalhando especificamente em 6 tabelas no momento e por isso quero truncar essas tabelas com frequência. Quando eu os trunco no meu Mac local, a consulta leva 21 ms (totalmente razoável). Quando trunco as mesmas tabelas em meu servidor CentOS, leva 8,5 SEGUNDOS. As tabelas são todas InnoDB.
Eu tentei com outras tabelas no mesmo banco de dados no meu Mac local versus meu servidor CentOS e a extrema lentidão persiste para essas outras tabelas. Então, tentei um banco de dados completamente diferente e a extrema lentidão também persiste (restaurar um dos meus dbs no meu Mac local leva 25 segundos, mas no servidor CentOS leva 4 minutos e 14 segundos).
Como a versão do MySQL é a mesma, imaginei que talvez fosse uma diferença de configuração. Exportei as "variáveis de exibição"; consulta no CentOS e no Mac local e as únicas diferenças (além de caminhos ou nomes de arquivos de log) são:
innodb_use_native_aio OFF // local Mac
innodb_use_native_aio ON // CentOS
lower_case_file_system ON // local Mac
lower_case_file_system OFF // CentOS
lower_case_table_names 2 // local Mac
lower_case_table_names 0 // CentOS
have_symlink YES // local Mac
have_symlink DISABLED // CentOS