首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分析mongodb时,remove查询是什么意思

分析mongodb时,remove查询是什么意思
EN

Stack Overflow用户
提问于 2011-03-28 23:27:23
回答 1查看 112关注 0票数 0
代码语言:javascript
复制
{ "ts" : "Mon Mar 28 2011 23:12:25 GMT+0800 (CST)", "info" : "remove  query: { taskid: \"aae7942d-0a61-4d08-8507-f92c7eebee7f\" } 403ms", "millis" : 403 }
{ "ts" : "Mon Mar 28 2011 23:11:15 GMT+0800 (CST)", "info" : "remove  query: { taskid: \"0b973bcb-52fa-4709-a9bc-47841e51a5ab\" } 171ms", "millis" : 171 }
{ "ts" : "Mon Mar 28 2011 23:11:10 GMT+0800 (CST)", "info" : "remove  query: { taskid: \"0c352958-bcd8-4e28-b9cd-7e7534580eac\" } 223ms", "millis" : 223 }
{ "ts" : "Mon Mar 28 2011 23:11:07 GMT+0800 (CST)", "info" : "remove  query: { taskid: \"0c35c0e5-3460-4192-9094-e4d0fa623470\" } 224ms", "millis" : 224 }
{ "ts" : "Mon Mar 28 2011 23:11:06 GMT+0800 (CST)", "info" : "remove  query: { roleid: \"2d1dedfe-e587-4444-9b3a-3691a4c47fde\" } 18ms", "millis" : 18 }
{ "ts" : "Mon Mar 28 2011 23:11:01 GMT+0800 (CST)", "info" : "remove  query: { taskid: \"ee3bbc78-def4-4b96-8db7-1dd12443707a\" } 325ms", "millis" : 325 }
{ "ts" : "Mon Mar 28 2011 23:10:44 GMT+0800 (CST)", "info" : "remove  query: { taskid: \"7d0d7433-4954-4355-adfa-5af2fd2c3b06\" } 357ms", "millis" : 357 }

当我使用数据库分析时,我经常看到它,而taskid是一个集合的索引

我设置了: db.setProfilingLevel(1,50),然后查看db.system.profile.find().sort(ts:-1).limit(20)

我看到了很多可怕的长时间执行,比如{ "ts“:"Mon Mar 28 2011 20:42:39 GMT+0800 (CST)","info”:"remove query:{ taskid:\"495951f5-8042-4a7a-9f09-f65c9e622e28\“} 361ms","millis”:361 }

但目前我没有遇到应用程序异常缓慢或延迟的情况。

所以我想知道为什么这么久,那是什么?

这是我的表状态

代码语言:javascript
复制
> db.role_task.stats() 


{ 
        "ns" : "dt_base.role_task", 
        "count" : 17907, 
        "size" : 66267932, 
        "avgObjSize" : 3700.6719160104985, 
        "storageSize" : 86088960, 
        "numExtents" : 11, 
        "nindexes" : 3, 
        "lastExtentSize" : 20872448, 
        "paddingFactor" : 1.4199999999985065, 
        "flags" : 1, 
        "totalIndexSize" : 5496832, 
        "indexSizes" : { 
                "_id_" : 761856, 
                "taskid_1" : 1753088, 
                "roleid_1_taskdbid_1" : 2981888 
        }, 


"ok" : 1 

}

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-03-29 03:48:26

删除通常很慢(依赖于磁盘速度),除非您的数据库严重依赖它们,否则不应该担心。MongoDB的默认操作是在后台运行此删除操作,并允许您的其他操作并发进行。这就是为什么你看不到明显的减速。

来自文档:

v1.3+支持在remove运行时执行并发操作。如果同时更新(在同一集合上)增长了一个符合删除条件的对象,则更新后的对象可能不会被删除(因为操作几乎同时发生,这甚至可能并不奇怪)。在不需要这样做的情况下,在过滤器表达式中传递{$atomic : true}:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5461268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档