假设我在给定的集合上创建4到5个索引。有没有一种方法可以查看这些索引是否用于任何更新/删除/选择?
我知道一个方法是使用cursor.explain / cursor.explain(“executionStats”)。在我们开发代码时,这可能很有用。但是一旦部署了,就会有任何方法来验证是否正在使用任何现有的索引。
我试图将这种经验与Oracle环境进行比较。随着索引不断涌现,由于代码的变化,人们喜欢创建新的离开现有的可能会在一段时间内开始影响应用程序。
巴斯卡尔。
答案 0 :(得分:0)
您可以使用$indexStats
,它将提供有关特定集合中索引用法的一些信息。你可以试试这个。
db.collection.aggregate( [ { $indexStats: { } } ] )
在输出中,您将看到由您拥有的不同索引处理的操作数。 Example