Soa como problemas com as estatísticas do índice.
Se você estiver usando o MyISAM, picos súbitos de INSERTs desviariam as estatísticas aos olhos do MySQL Query Optimizer. Isso levaria o MySQL Query Optimizer a adivinhar muito mal os planos EXPLAIN das consultas SELECT.
Se você é usando InnoDB, ANALYZE TABLE torna-se completamente inútil.
Desde que a tabela seja razoavelmente pequena, ANALYZE TABLE é tudo o que você pode realmente fazer pelo MyISAM. A reconstrução de índices pode ajudar as tabelas do InnoDB periodicamente.
Contanto que as tabelas não sejam escritas em detalhes, as estatísticas de índice permanecerão estáveis e os planos de consulta EXPLAIN permanecerão mais consistentes.
Lembre-se: assim que você tiver muitos INSERTs, UPDATEs e DELETEs, todas as apostas serão desativadas para estatísticas de índice confiáveis até a próxima reconstrução ou ANALYZE TABLE.
Com relação aos tempos limite de bloqueio intermitente, aqui está algo a considerar: é possível que SELECTs em tabelas InnoDB sejam timeout em Deadlocks.
As consultas SELECT podem executar bloqueios no gen_clust_index , também conhecido como Clustered Index.
Aqui estão três perguntas sobre o DBA Stack Exchange que eu analisei agressivamente com @RedBlueThing , a pessoa que fez essas perguntas . @RedBlueThing encontrou soluções para suas perguntas.
Por favor, leia estes links cuidadosamente. Espero que isso ajude.