当前位置: 首页 > 知识库问答 >
问题:

MongoDB-删除100万条记录需要非常长的时间

武功
2023-03-14
db.CollectionData.bulkWrite([{ deleteMany: { "filter": { "client_id": "8", "collection_id": "156643", "version": {"$lt": 7}}}}]);

共有1个答案

刁冠宇
2023-03-14

您应该学习如何分析MongoDB查询。有一些方法可以用来了解查询的性能统计信息等等。MongoDB文档中有一个很好的教程:https://docs.MongoDB.com/manual/tutorial/analyse-query-plan/

有了这些附加信息,您应该能够识别您的问题,如果您有问题的话。

顺便说一句,这与Java无关...

 类似资料:
  • 我已经确保使用explain查询确实使用了我创建的索引,但性能仍然不够好。 我在想,现在是不是该去sharding了..但是我们很快就会开始每天有大约100万张新唱片在这个收藏中…所以我不确定它是否能很好地扩展.. 编辑:查询示例: 请注意,deviceType在我的集合中只有2个值。

  • 问题内容: 我试图用nodejS在mongodb中做一个findAndModifiy,这是我的代码: 编辑: 尝试回调 但是给我这个错误需要删除或更新..但是我正在这样做.. 问题答案: 节点本机驱动程序实现中的方法与mongo shell实现不同。要进行上述更新,请执行以下操作: 奇怪的是要删除您在选项中指定的内容,以便相同内容将“删除”匹配的文档: 主要区别在于您没有为操作命名“关键”部分。

  • 我有一个“Customer”表,它有将近120万条记录,其中一列是ntext类型的“customer_records ”,它包含xml数据。我需要在该列的所有现有记录中替换一个url值。我尝试了下面的替换查询,但是执行该查询需要大约20分钟的时间。 在更新期间,CPU 消耗被利用到最大,这引起了问题。在 120 万条记录中,实际更新的记录中有 60 万条记录,但查询需要读取每条记录以查找和替换 U

  • 删除记录命令用于从数据库中完全删除一个或多个记录。 以下语句是命令的基本语法。 以下是有关上述语法中选项的详细信息。 - 指定如何锁定加载和更新之间的记录。有两个选项来指定默认和记录。 - 指定要返回的表达式而不是记录数。 - 定义要更新的最大记录数。 - 定义在超时之前允许更新运行的时间。 注 - 请勿使用删除“顶点”或“边”,因为它会影响图的完整性。 示例 让我们考虑在前一章中创建的表。 编号

  • RemoveResult remove(RemoveRequest request) 功能 删除某个表的一条记录,可以删除全部或者部分属性,也可以指定条件,当条件成立时才删除成功 消耗一个单位写配额,如果带了条件,还消耗一个单位读配额(另外如果创建了EAGER类型的二级索引,每个Eager二级索引需要1个额外读配额) 方法参数 request : RemoveRequest : required

  • 我有一个表值,有8000万条记录。另一个表评估了拥有2.5亿条记录的_历史。 我想过滤values_history表,并希望保留在值表中预设id的唯一数据。 这个查询需要很长时间,我不得不中止这个过程。 请提出一些想法来加速这个过程。 我可以一次删除100万条这样的记录吗?