MongoDB - Batasan Pengindeksan
Dalam bab ini, kita akan mempelajari tentang Batasan Pengindeksan dan komponen lainnya.
Overhead ekstra
Setiap indeks menempati beberapa ruang serta menyebabkan overhead pada setiap penyisipan, pembaruan, dan penghapusan. Jadi jika Anda jarang menggunakan koleksi Anda untuk operasi baca, masuk akal untuk tidak menggunakan indeks.
Penggunaan RAM
Karena indeks disimpan dalam RAM, Anda harus memastikan bahwa ukuran total indeks tidak melebihi batas RAM. Jika ukuran total meningkatkan ukuran RAM, itu akan mulai menghapus beberapa indeks, menyebabkan hilangnya kinerja.
Batasan Kueri
Pengindeksan tidak dapat digunakan dalam kueri yang menggunakan -
- Ekspresi reguler atau operator negasi seperti $ nin, $ not, dll.
- Operator aritmatika seperti $ mod, dll.
- $ dimana klausa
Oleh karena itu, selalu disarankan untuk memeriksa penggunaan indeks untuk kueri Anda.
Batas Kunci Indeks
Mulai dari versi 2.6, MongoDB tidak akan membuat indeks jika nilai bidang indeks yang ada melebihi batas kunci indeks.
Memasukkan Dokumen Melebihi Batas Kunci Indeks
MongoDB tidak akan memasukkan dokumen apa pun ke dalam koleksi yang diindeks jika nilai bidang yang diindeks dari dokumen ini melebihi batas kunci indeks. Sama halnya dengan utilitas mongorestore dan mongoimport.
Rentang Maksimum
- Koleksi tidak boleh memiliki lebih dari 64 indeks.
- Panjang nama indeks tidak boleh lebih dari 125 karakter.
- Indeks gabungan dapat memiliki maksimum 31 bidang yang diindeks.