MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Bagaimana Menemukan Indeks yang Tidak Digunakan di MongoDB?

Dalam postingan ini, kami akan menunjukkan cara menemukan indeks yang tidak digunakan di MongoDB, memeriksa statistik penggunaan pada koleksi indeks Anda, dan cara menghapus indeks yang tidak digunakan.

Mengelola indeks database MongoDB secara aktif pada beberapa rilis aplikasi dapat menjadi tantangan bagi tim pengembangan. Persyaratan sering kali berubah dengan setiap rilis, di mana beberapa indeks baru mungkin ditambahkan dan indeks lama mungkin ditinggalkan. Seiring waktu, hal ini menyulitkan untuk melacak indeks MongoDB mana yang digunakan dan mana yang sekarang tidak diperlukan.

Indeks berdampak besar pada kinerja penulisan – setiap kali ada penulisan ke koleksi, indeks yang relevan perlu diperbarui. Kurangnya indeks segera terwujud dan memperlambat kueri – indeks yang tidak digunakan lebih halus dan perlu dipangkas secara aktif untuk meningkatkan kinerja penulisan. Informasi lebih lanjut dapat ditemukan di sini - Bahaya membangun indeks di MongoDB.

Di MongoDB versi sebelumnya, tidak ada cara mudah untuk menentukan apakah indeks tidak digunakan. Namun, mulai versi 3.2, MongoDB menambahkan dukungan untuk operator $indexStats yang memungkinkan Anda mengumpulkan statistik tentang penggunaan indeks Anda.

Menemukan Indeks yang Tidak Digunakan di MongoDB

Untuk memeriksa statistik penggunaan indeks tertentu pada koleksi, Anda dapat menggunakan perintah ini:

db.collection.aggregate([{$indexStats: {}}, {$match: {"name": "<indexname>"}}])

Untuk mendapatkan statistik semua indeks koleksi:

db.collection.aggregate([{$indexStats:{}}])

Dokumen yang dikembalikan akan terlihat seperti ini:

{
"name" : "test",
"key" : {
"key" : 1
},
"host" : "xxx:27017",
"accesses" : {
"ops" : NumberLong(145),
"since" : ISODate("2017-11-25T16:21:36.285Z")
}
}

Dua bidang penting yang perlu diperhatikan di sini adalah:

  1. Ops

    Ini adalah jumlah operasi yang menggunakan indeks.

  2. Sejak

    Ini adalah waktu MongoDB mengumpulkan statistik, dan biasanya waktu mulai terakhir.

Cara Menemukan Indeks yang Tidak Digunakan di MongoDB - Tingkatkan Performa Menulis AndaKlik Untuk Tweet

Menjatuhkan Indeks yang Tidak Digunakan di MongoDB

Setelah Anda mengidentifikasi dan memverifikasi indeks MongoDB yang tidak digunakan, Anda dapat menghapus indeks menggunakan kode di bawah ini:

db.collection.dropIndex( "<index name>"); or
db.collection.dropIndex("{key1:1.....}")

Seperti biasa, harap verifikasi bahwa Anda menjatuhkan indeks yang benar sebelum melanjutkan dengan operasi pelepasan.

Jika Anda memiliki pertanyaan tentang menemukan indeks yang tidak digunakan di MongoDB, tinggalkan komentar di bawah atau hubungi kami di [email protected].


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Kegagalan Database Transparan untuk Aplikasi Anda

  2. $unionWith – Setara MongoDB dengan UNION ALL

  3. Tambahkan bidang yang tidak ada dalam skema dengan luwak

  4. Bisakah Anda memiliki mongo $push prepend alih-alih menambahkan?

  5. Pengantar tipe data MongoDB