Já que você perguntou sobre como as grandes empresas (geralmente) abordam isso:
Eles geralmente têm um dba (administrador de banco de dados) que vive e respira o banco de dados que a empresa usa.
Isso significa que eles têm pessoas que sabem tudo, desde como projetar as tabelas de maneira otimizada, criar perfis e ajustar as consultas/índices/SO/servidor até saber qual revisão de firmware do controlador RAID pode causar problemas para o banco de dados.
Você não fala muito sobre que tipo de afinação você fez, por exemplo.
- Você está usando tabelas MyISAM ou InnoDB? Seu desempenho (e não menos importante, seus recursos) é radicalmente diferente para diferentes cargas de trabalho.
- As tabelas estão indexadas corretamente de acordo com as consultas que você executa?
- execute EXPLAIN em todas as suas consultas - o que o ajudará a identificar as chaves que podem ser adicionadas/removidas, se as chaves apropriadas forem selecionadas, compare as consultas (o SQL deixa você com muitas maneiras de realizar as mesmas coisas)
- Você ajustou o cache de consulta? Para algumas cargas de trabalho, o cache de consulta (padrão ativado) pode causar lentidão considerável.
- Quanta memória sua caixa tem e o mysql está ajustado para tirar proveito disso?
- Você usa um sistema de arquivos e configuração de raid voltada para o banco de dados?
- Às vezes, é necessária uma pequena desnormalização.
- Diferentes produtos de banco de dados terão características diferentes, o MySQL pode ser incrivelmente rápido para alguns Worlkoads e lento para outros.