Alasan perbedaan kinerja di sini kemungkinan besar, dengan indeks diaktifkan, kueri Anda harus melintasi indeks (dimuat ke dalam memori), kemudian memuat dokumen yang cocok untuk dikembalikan ke memori juga. Karena Anda tidak menggunakan kueri awalan, semua nilai dalam indeks akan dipindai dan diuji terhadap ekspresi reguler. Tidak terlalu efisien.
Ketika Anda menghapus indeks, Anda hanya melakukan pemindaian tabel dan mencocokkan regex di sana - pada dasarnya Anda menyederhanakan hal-hal dari yang pertama sedikit.
Anda mungkin dapat membuat versi yang diindeks lebih cepat jika itu adalah kueri indeks tercakup , kemungkinan juga akan lebih cepat jika ini adalah indeks gabungan dan Anda perlu menggabungkannya dengan kriteria untuk bidang lain.
Saat Anda menggunakan kueri awalan, itu bukan hanya menggunakan indeks, tetapi Anda menggunakan indeks secara efisien, yang merupakan kuncinya, dan karenanya Anda melihat peningkatan kinerja yang sebenarnya.