Możesz dodać dodatkowy indeks, aby pomóc w fazie liczenia.
ALTER TABLE keywords ADD INDEX ckp_index (collection_id,keyword,pmid);
Jeśli masz już indeks złożony zawierający tylko identyfikator_kolekcji i słowo kluczowe, Optymalizator zapytań będzie nadal zawierał wyszukiwanie pola pmid z tabeli.
Dodanie nowego indeksu spowoduje usunięcie wszelkich skanowań tabel i wykonanie wyłącznie skanów indeksów.
Przyspieszy to część zapytania count(distinct pmid).
Wypróbuj !!!