- 积分
- 40165
- 好友
- 记录
- 主题
- 帖子
- 听众
- 收听
|
被mongodb数据库的RemoveAll()方法坑到了!!!
大家围观看我是怎么被坑的
需求
今天因为业务调整需要将Mongodb数据库中的一个集合清空,并 安新的数据格式重新导入数据,但由于有索引文件,而索引巨大,不想删除,想着直接把数据删除了,然后再慢慢导进来,这样索引可以得到保留,数据也不算多,也就300W上下
操作
我执行了命令
[C#] 纯文本查看 复制代码 coll.RemoveAll();
后果
结果,结果, 是在删除,但是是以每秒100条不到的速度删除,我了个去,这样下去,得多长时间。8.3小时左右。这是要到下班的节奏
解决办法
其实最主要还是我大意了,想多了,
应该是先直接把集合给删除掉,然后再导,可以先导100条数据时,开始建立索引,这样速度不会慢,也可以实现我上面的功能。
第一步我们先去Mongodb,VUE中直接断开执行,这也是一个技巧,很多人不知道通过工具可以直接将正在执行的操作给结束掉。
如果真要等8个小时,那就太难坎了
如上图直接单击kill就行了。
然后我们可以通过 直接dorp命令直接删除集合,这样我测试只需要10秒不到,加上建立索引的时候也不会超过半个小时。
|
|