如何衡量MongoDB中查询的执行时间? 我找到了Mongo-hacker插件,但它看起来像测量查询时间,包括显示所有结果的时间。 在PostgreSQL中我使用Explain Analyze SELECT ...,但我没有在mongo的db.collection.find({smth})中找到任何关于时间的信息.solution()
答案 0 :(得分:30)
您可以在查询结尾添加.explain("executionStats")
。
答案 1 :(得分:8)
The easiest way is to set the profiling level in MongoDB: https://docs.mongodb.org/manual/tutorial/manage-the-database-profiler/
Once you've done this, details on all of your queries will be logged to the system profile table.
答案 2 :(得分:0)
使用 Robo 3T,这对我进行了聚合 -
db.getCollection('product_verification').explain("executionStats").aggregate([
{$match: {"company_id":1}},
{$lookup: {
"from": "product",
"let": {"company": "$company_id", "code": "$item_code"},
"pipeline": [
{$match: {$expr: {$and: [
{"$eq": ["$company_id", "$$company"]},
{"$eq": ["$item_code", "$$code"]},
{"$in": ["$brand_uid",[13, 20]]}
]}
}}
],
"as": "details"
}}])
当不使用聚合时
db.getCollection('product').find({name: "lenovo"}).explain("executionStats")