我从 MongoDB 迁移到 AWS DocumentDB,但在查询性能方面遇到了一些问题。运行配置文件时,我发现几个查询花费了很长的时间,远远超过了几秒钟。我试图与文档一起理解其中一些阶段的含义,例如 LIMIT_SKIP ,并理解为什么它们花了这么长时间。特别是那些针对 _id 的更新。
作为上下文,我将 Mongoid 6.4.4 与 AWS Document DB 结合使用。
这是我得到的个人资料,下面是模型统计数据:
{
"op": "update",
"ts": 1592322527421,
"ns": "mytable.paths",
"command": {
"q": {
"_id": "5ee8e93217f3830001cf9765"
},
"u": {
"$set": {
"last_active_at": "2020-06-16T15:48:19.774Z",
"updated_at": "2020-06-16T15:48:19.774Z"
}
}
},
"nMatched": 1,
"nModified": 1,
"protocol": "op_query",
"millis": 27643,
"planSummary": "IXSCAN",
"execStats": {
"stage": "UPDATE",
"nReturned": "0",
"executionTimeMillisEstimate": "27638.070",
"inputStages": [
{
"stage": "LIMIT_SKIP",
"nReturned": "1",
"executionTimeMillisEstimate": "27637.167",
"inputStage": {
"stage": "IXSCAN",
"nReturned": "1",
"executionTimeMillisEstimate": "0.046",
"indexName": "_id_", …Run Code Online (Sandbox Code Playgroud)