Urutan bidang dalam indeks penting; indeks gabungan terbaik untuk contoh pencarian dan pengurutan Anda sebenarnya adalah:
db.test.ensure_index([("xxx",1),("_id",-1)])
Karena kriteria pencarian Anda ada di bidang 'xxx', menempatkan bidang ini terlebih dahulu dalam indeks akan menemukan lebih banyak hasil daripada mencari dengan _id
lalu memfilter ke dokumen yang cocok dengan xxx
kriteria.
Jika Anda melihat n
nomor untuk setiap paket yang dipertimbangkan oleh pengoptimal kueri di allPlans
, BtreeCursor xxx_1
index benar-benar mengembalikan hasil terbanyak (34). Indeks lain mengembalikan 9, 10, dan 16 hasil .. jadi akan kurang efisien untuk kriteria pencarian yang diberikan.
Untuk informasi lebih lanjut tentang pengoptimalan indeks, artikel ini sangat membantu:Mengoptimalkan Indeks Senyawa MongoDB .