Du kanske vill lägga till ett ytterligare index för att hjälpa till i räknefasen.
ALTER TABLE keywords ADD INDEX ckp_index (collection_id,keyword,pmid);
Om du redan har ett sammansatt index med enbart collection_id och nyckelord, kommer frågeoptimeraren fortfarande att inkludera en uppslagning för pmid-fältet från tabellen.
Genom att lägga till detta nya index kommer detta att ta bort eventuella tabellsökningar och endast utföra indexsökningar.
Detta kommer att påskynda count (distinct pmid) delen av frågan.
Ge det ett försök !!!