gpt4 book ai didi

node.js - 如何在 MongoDB 中解释()更新插入以查看是否使用了索引?

转载 作者:太空宇宙 更新时间:2023-11-03 22:54:31 27 4
gpt4 key购买 nike

当代码更改时,告诉我索引是否仍然适合 find() 语句的快速方法是 (nodejs)

        collection.find(query).explain(function(err, explaination) {
console.log('MongoDebug: ' + explaination.cursor);
});

如果光标的类型为BtreeCursor,则使用索引。

insert()upsert: true 一起使用时如何检查这一点?

最佳答案

explain()是光标上的函数,在插入时不可用。还有一个$explain查询修饰符,但它仍然是一个查询修饰符。

但是,解释 2.0 的工作量很大,其中一个子任务是提供 explain() for updates - SERVER-14101 。该问题在版本 2.7.7 中已修复。

请注意,对每个操作执行解释可能不是一个好主意,因为它迫使 MongoDB 始终重新评估查询计划,从而增加数据库上的服务器负载。

您可以使用integrated profilerdb.currentOp()暂时分析非查询操作的性能,但见解有限。尝试使用简单的 find().explain() 进行手动优化,使用的索引应该相同。

关于node.js - 如何在 MongoDB 中解释()更新插入以查看是否使用了索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27297833/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com