Kullanılmayan index'leri bul ve silmeden önce gizle (hideIndex)
MongoDBPerformansKomut
// Index basina kullanim sayaci (bu uyede, son restart'tan beri):
db.musteri.aggregate([{ $indexStats: {} }, { $project: { name: 1, ops: "$accesses.ops", since: "$accesses.since" } }, { $sort: { ops: 1 } }])
// Silmeden once planner'dan gizle (index guncellenmeye devam eder):
db.musteri.hideIndex("idx_email")
// Sorun cikarsa aninda geri al:
db.musteri.unhideIndex("idx_email")
// Gozlem suresi sorunsuz gecerse:
db.musteri.dropIndex("idx_email")Ne yapar?
$indexStats ile her index'in kaç kez kullanıldığını gösterir; hideIndex ile index'i silmeden sorgu planner'ından gizleyerek kaldırmanın etkisini geri alınabilir biçimde test eder.
Ne zaman kullanılır?
Yazma performansını ve depolamayı artıran gereksiz index'leri temizlerken.
Dikkat
Sayaçlar üye bazındadır ve restart'ta sıfırlanır; secondary'lerden okuma yapılıyorsa tüm üyelerde kontrol et ve yeterince uzun bir dönemi (ay sonu raporları dahil) gözle. ops değeri 0 olan unique veya TTL index'ler yine de gereklidir: unique constraint'i ve TTL silmesi sayaçta görünmez. Gizli index yazmalarda güncellenmeye devam eder, unique ise constraint'i uygulamaya devam eder.