我在mongodb命令行运行db.currentOp(),返回结果中出现"op" : "getmore",,请问一下getmore是一个什么操作?而且特别耗时:
>db.currentOp()
{
"inprog" : [
{
"opid" : 821006778,
"active" : true,
"secs_running" : 0,
"microsecs_running" : NumberLong(252939),
"op" : "getmore",
"ns" : "local.oplog.$main",
"query" : {
},
"client" : "10.171.53.62:34632",
"desc" : "conn9912",
"threadId" : "0x7f9665e39700",
"connectionId" : 9912,
"waitingForLock" : false,
"numYields" : 0,
"lockStats" : {
"timeLockedMicros" : {
"r" : NumberLong(14),
"w" : NumberLong(0)
},
"timeAcquiringMicros" : {
"r" : NumberLong(1),
"w" : NumberLong(0)
}
}
}
]
}
PHP中文网2017-05-02 09:24:35
getmore是从游标中取数据,遇到问题可以先问谷歌,那么得先学会翻墙……
你的数据越多它花的时间越多,这是正常的。你提供的数据是系统在从oplog中拉数据分发到从结点,看起来是master/slave复制。
oplog表是一个没有索引默认又会比较大的表,所以第一次遍历的时候会花比较长的时间。