Enfrentei esse dilema ao tentar melhorar o desempenho e a velocidade de um site específico com mais de 10.000 visitas diárias e bancos de dados relacionais com mais de 200.000 registros. Uma solução IDEAL é um planejamento adequado para evitar consultas desnecessárias ou que a carga de execução do banco de dados seja suportada diretamente pelo cliente.
MySQL
O MySQL é um sistema de código aberto que permite o armazenamento de informações em sistemas computacionais, o que, por sua vez, permite a escolha de mecanismos como InnoDB e MyISAM, entre outros menos relevantes.
Além dos ajustes que podem ser feitos na configuração do MySQL (my.cnf, 50-server.cnf, etc.), para melhorar o desempenho do cache, o uso da CPU, o uso da RAM ou o buffer em um VPS, você pode configurar a atribuição de dois mecanismos por tabela: InnoDB e MyISAM.
MyISAM
O MyISAM, na minha opinião, é mais popular devido à sua simplicidade. É um mecanismo simples que permite maior facilidade no gerenciamento de um banco de dados. Ele pode ser otimizado com relativa facilidade. O MyISAM consome menos RAM em comparação com o InnoDB e é recomendado para servidores com recursos limitados ou para bancos de dados pequenos (uma loja com menos de 2.000 produtos ou com poucos visitantes, por exemplo).
Eu geralmente uso o MyISAM porque é o mecanismo padrão para criação de tabelas e é versátil. No entanto, quando se lida com um grande volume de dados acompanhado de alto tráfego, simplesmente ajustar o cache não é suficiente.
InnoDB
InnoDB é um sistema de armazenamento predominante que se consolidou devido ao seu bom desempenho e confiabilidade. Atualmente, as versões 5.6 e superiores do MySQL são o mecanismo padrão para geração de tabelas no MySQL (em pesquisas pessoais, descobri que CMSs clássicos como o Prestashop, a partir da versão 1.7, adotaram esse mecanismo como padrão, mas este não é o caso do WordPress).
As tabelas do InnoDB organizam os dados sob uma chave primária, o que torna as atualizações (UPDATEs) e as inserções (INSERTs) mais lentas. No entanto, é mais rápido para seleção em bancos de dados grandes.
Conclusões
É necessário entender os diferentes tipos de mecanismos de banco de dados. Ao escolher um, não se deve basear em preferências pessoais, mas sim na adequação a cada tipo de projeto gerado a partir da análise de dados (ou nos problemas resultantes).
O MyISAM deve ser mais rápido na inserção, atualização e exclusão de registros, mas apresenta desempenho inferior em bancos de dados relacionais de alto volume.
O InnoDB também é um mecanismo rápido, notável por incluir bloqueios em nível de linha (não em nível de tabela), bloqueios em nível de transação e design de tabelas relacionais. Isso é especialmente verdadeiro quando você tem tabelas que são executadas com muita frequência. Em condições normais, o bloqueio em nível de tabela deve ser suficiente.