Vous voudrez peut-être ajouter un index supplémentaire pour aider le dans la phase de comptage.
ALTER TABLE keywords ADD INDEX ckp_index (collection_id,keyword,pmid);
Si vous avez déjà un index composé avec collection_id et mot-clé uniquement, l'optimiseur de requête inclura toujours une recherche pour le champ pmid de la table.
En ajoutant ce nouvel index, cela supprimera tous les balayages de table et n'effectuera que des balayages d'index.
Cela accélérera la partie count (pmid distinct) de la requête.
Essayez-le !!!