使用MongoDB,我正在尝试从包含约300万条记录的集合中删除一列。
db.Listing.update( {}, { $unset: { Longitude: 1 } }, false, true);
当我执行此命令时,服务器上的RAM继续上升,直到RAM耗尽,然后服务器被冲洗,需要进行物理重启。有没有更好的方法从大型集合中删除不会影响服务器的列?
答案 0 :(得分:0)
我希望您的问题是系统OOM杀手。你应该确保你没有限制mongod的资源。请参阅:http://www.mongodb.org/display/DOCS/Checking+Server+Memory+Usage
http://prefetch.net/blog/index.php/2009/09/30/how-the-linux-oom-killer-works/
如果你正在使用virt。像openvz这样的系统你可能想要停止,或者调整过度提交功能。