Przyczyną różnic w wydajności jest prawdopodobnie to, że przy włączonym indeksie zapytanie musi przejść przez indeks (załadować do pamięci), a następnie załadować również pasujące dokumenty, które mają zostać zwrócone do pamięci. Ponieważ nie używasz zapytania z prefiksem, wszystkie wartości w indeksie zostaną przeskanowane i przetestowane pod kątem wyrażenia regularnego. Niezbyt wydajny.
Kiedy usuniesz indeks, po prostu skanujesz tabelę i dopasowujesz tam wyrażenie regularne - zasadniczo uprościłeś nieco rzeczy od pierwszego.
Możesz przyspieszyć indeksowaną wersję, gdyby była to zapytania o indeks objęty zasięgiem , prawdopodobnie byłoby też szybciej, gdyby był to indeks złożony i trzeba było połączyć go z kryteriami dla innego pola.
Kiedy używasz zapytania prefiksowego, nie chodzi o to, że używa on tylko indeksu, ale używasz go wydajnie, co jest kluczowe, a zatem widzisz rzeczywisty wzrost wydajności.