Potresti voler aggiungere un indice aggiuntivo per facilitare la fase di conteggio.
ALTER TABLE keywords ADD INDEX ckp_index (collection_id,keyword,pmid);
Se hai già un indice composto con collection_id e solo parola chiave, Query Optimizer includerà comunque una ricerca per il campo pmid dalla tabella.
Aggiungendo questo nuovo indice, verranno rimosse tutte le scansioni della tabella e verranno eseguite solo scansioni dell'indice.
Ciò accelererà la parte count (distinct pmid) della query.
Provalo!!!