问题标签 [bulk-delete]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
144 浏览

mongodb - 批量删除大型集合 mongodb 时性能不佳

我在 Linux 机器上安装了一个独立的 mongo。该数据库包含一个包含 1.81 亿个文档的集合。该集合是迄今为止数据库中最大的集合(大约 90%)。集合的大小目前为 3.5 TB。我正在运行 Mongo 版本 4.0.10 (Wired Tiger)

该集合有 2 个索引。

  • 身份证上的一个
  • 一对 2 字段,在删除文档时使用(请参阅下面的片段中的那些)。

在此集合上对批量删除进行基准测试时,我们使用了以下代码段

为了查看删除操作的状态,我运行了一个删除 1000 个文档的简单测试,同时使用 currentOp() 查看操作。它显示以下内容。

它似乎使用了正确的索引,但锁的数量和类型让我担心。正如我所解释的那样,它为单个集合中的每个已删除文档获取 1 个全局锁。

使用这种方法时,它需要一个多星期的时间来删除 4000 万份文档。这是无法预期的表现。

我意识到存在其他设计,例如将文档打包成更大的块并使用 GridF 存储它们,但当前的设计就是这样,我想确保在更改我的设计或重组数据甚至考虑之前我看到的内容是预期的聚类等

关于如何提高批量删除性能的任何建议,或者这是预期的吗?

0 投票
1 回答
71 浏览

typescript - 由于错误的频道,批量删除 discord.js 无法正常工作

我正在尝试批量删除,但问题是 message.channel.bulkDelete(fetched); .channel 部分说它是 TextBasedChannel 而不是 TextChannel。我之前问过某人,他们说我在使用 DMChannel 时应该使用 TextChannel。我知道它们是不同的类,但我不确定我是如何在我的代码中使用 DMChannel 而不是 TextChannel 的。我不知道如何解决这个问题,如果有人有一个链接可以告诉我不同​​之处,我会很感激的。因为我在服务器而不是直接消息中使用机器人,所以很难理解 DMChannel。我只是困惑

这是我得到的错误

编辑:我能够按预期清除聊天,但现在我收到 DiscordAPIError。我可以抓住错误吗?这是错误消息:

编辑 2:这是上述错误消息之后的内容

0 投票
0 回答
27 浏览

python - 使用字典列表批量删除 SQLAlchemy 中的记录

有没有办法使用 SQLAlchemy 传递字典列表并批量删除记录?可以bulk_insert_mappings用于插入和bulk_update_mappings更新,但删除呢?

基本上,我有一个带有复合键的表。我希望能够通过传入相关映射来批量删除该表中的多条记录。映射看起来像这样,

最有效的方法是什么?

我一直在用它用一个键批量删除表中的数据,

0 投票
1 回答
52 浏览

sql - Sequelize queryInterface bulkDelete 不重置id序列

pg_dump用来制作数据库的副本,copy1.sql.

我运行向上迁移以创建一个新实例

我运行向下迁移以删除实例

我做另一个pg_dump数据库,copy2.sql. 我将数据库的第一个副本与数据库的第二个副本进行比较,以显示通过运行 bash 脚本向下迁移工作正常 diff "copy1.sql" "copy2.sql"

不同的是

这使我的测试失败,因为由于这种差异,两个数据库的副本并不相同。即使我删除了那个键,它表示下一个 id 序列将从 8 开始,而不是根据本文档的 7 开始。当前存在的表行是 1 到 6。有没有办法删除实例以使序列从 7 而不是 8 开始?这意味着数据库的两个副本都应该具有

我可以包括哪些选项?也许像