Eu não conheço o drupal. Mas como você pediu, você precisa da configuração MyIsam MySql dedicada. Para MyIsam eu tenho algumas recomendações como
key_buffer_size
Tamanho do Key Buffer, usado para cache de blocos de índice para tabelas MyISAM. Não o configure com mais de 30% de sua memória disponível, pois alguns também é requerido pelo SO para armazenar as linhas em cache. Mesmo se você não estiver usando Tabelas MyISAM, você ainda deve configurá-lo para 8-64M, como também será usado para tabelas de disco temporárias internas. Portanto, você deve configurá-lo de 2 GB para 3 GB .
read_buffer_size
Tamanho do buffer usado para fazer varreduras de tabela completa de tabelas MyISAM. Alocado por thread, se uma varredura completa for necessária .. Você deve configurá-lo para 8MB para 16MB.
read_rnd_buffer_size
Ao ler linhas na ordem classificada após uma classificação, as linhas são lidas através deste buffer para evitar buscas em disco. Você pode melhorar ORDER BY desempenho muito, se definir isso para um valor alto. Alocado por thread, quando necessário.
bulk_insert_buffer_size
O MyISAM usa um cache especial em forma de árvore para fazer inserções em massa (ou seja, INSERT ... SELECT, INSERT ... VALUES (...), (...), ... e LOAD DATA INFILE) mais rápido. Esta variável limita o tamanho da árvore de cache bytes por thread. Definir como 0 desativará essa otimização. Faz não defini-lo maior que "key_buffer_size" para desempenho ideal. Esse buffer é alocado quando uma inserção em massa é detectada. Defina como 512 MB a 1 GB.
myisam_sort_buffer_size
Esse buffer é alocado quando o MySQL precisa reconstruir o índice Instruções de tabela REPAIR, OPTIMIZE, ALTER, bem como em LOAD DATA INFILE em uma mesa vazia. Ele é alocado por thread, então tenha cuidado com grandes configurações. Então você deve configurá-lo para 2M
myisam_max_sort_file_size
O tamanho máximo do arquivo temporário que o MySQL tem permissão para usar recriando o índice (durante REPAIR, ALTER TABLE ou LOAD DATA INFILE. Se o tamanho do arquivo for maior que isso, o índice será criado através do cache de chaves (que é mais lento). Defina como você precisa.
myisam_repair_threads
Se uma tabela tiver mais de um índice, o MyISAM pode usar mais de um thread para repará-los, classificando em paralelo. Isso faz sentido se você tem várias CPUs e muita memória. Configure-a para 1.
myisam_recover
Verifica e conserta automaticamente tabelas MyISAM não fechadas.