【发布时间】:2020-02-22 07:54:11
【问题描述】:
我无法访问源代码的旧系统正在将数据插入到一个巨大的表中(已经插入了数百万条记录。)。选择命令超出容差时间。因此,如果可能的话,我想捕获新记录并将它们发送到新的 MQ 机制。所以我可以轻松地从队列中处理它们。
人们建议我使用“更改数据捕获”或“SQL 触发器”。但我不认为它可以处理频繁添加的行(可能 1k 新记录五分钟。)。
你对这种情况有什么建议?
(SQL Server 2016 - C# 消费者)
感谢您的建议!
【问题讨论】:
-
每天百万/30 万行实际上并没有那么大。由于您似乎可以访问 RDBMS,因此只需添加与选择查询的需求对齐的索引或分区有帮助吗?还有可能是清除和/或移动旧数据的计划作业?
-
您不相信已经获得的建议解决方案。为什么要相信我们的建议?
-
每分钟 1k 行并不频繁。触发器或 CDC 等 IT 技术无法处理它们将毫无用处。完全没用。你真的问哪辆车能超过 20 公里/小时,这就是你的要求。
-
@SirRufo 因为有太多的替代观点可以解决得更好。有时人们从窗户往外看,但您可能从前面看,却看不到后花园及其壮丽的景色。
-
我也尝试在桌面上启用 CDC,但时间太长,所以我取消了它。但现在我会更多地研究它,现在我知道我不会白白浪费时间。谢谢大家!
标签: c# sql-server triggers change-data-capture