Had indeks MongoDB
Overhed tambahan
Setiap indeks menduduki ruang storan tertentu dan indeks juga perlu dikendalikan semasa operasi memasukkan, mengemas kini dan memadam. Oleh itu, jika anda jarang membaca daripada koleksi, adalah disyorkan untuk tidak menggunakan indeks.
Penggunaan Memori (RAM)
Memandangkan indeks disimpan dalam memori (RAM), anda harus memastikan saiz indeks tidak melebihi had memori.
Jika saiz indeks lebih besar daripada had memori, MongoDB akan memadamkan beberapa indeks, yang akan menyebabkan kemerosotan prestasi.
Had Pertanyaan
Indeks tidak boleh digunakan oleh pertanyaan berikut:
Ungkapan biasa dan bukan pengendali, seperti $nin , $ tidak, dsb.
Pengendali aritmetik, seperti $mod, dsb.
fasal $where
Jadi, adalah satu tabiat yang baik untuk menyemak sama ada pernyataan anda menggunakan indeks, anda boleh gunakan explain untuk menyemak.
Had kunci indeks
Bermula dari versi 2.6, jika nilai medan indeks sedia ada melebihi had kunci indeks, tiada indeks akan dibuat dalam MongoDB.
Dokumen yang dimasukkan melebihi had kunci indeks
MongoDB tidak akan menukar mana-mana dokumen kepada koleksi diindeks jika nilai medan indeksnya melebihi had kunci indeks. Sama seperti alat mongorestore dan mongoimport.
Julat maksimum
Indeks dalam koleksi tidak boleh melebihi 64
Panjang nama indeks tidak boleh melebihi 125 Aksara
Indeks komposit boleh mempunyai sehingga 31 medan