首页 > 解决方案 > 更新用于 SQL 报告的表中的批量数据的最佳实践

问题描述

我创建了一个用于报告目的的表,我在其中存储了大约 50 列的数据,并且在某个时间间隔,我的调度程序执行一个服务,该服务处理其他表并在我的平面表中填充数据。

目前我正在该表中删除和插入数据但我想知道这是否是一种好习惯,或者我应该检查每一行中的每一列并在发现任何更改时更新它,如果数据不存在则插入新记录。

仅供参考,重新插入的总行数为 100k+。

标签: sqlsql-server

解决方案


这是一个非常广泛的问题,只有通过访问您的环境和讨论您的个人需求才能真正得到回答。显然,这是不可能通过 Stack Overflow 实现的。

这意味着您需要自己做出决定。

为了能够做到这一点,您需要了解的信息是可用的表更新类型以及如何实现它们,通常称为缓慢变化的维度。有几种不同的类型,每种都有自己的优点、缺点和最佳用例。

一旦您了解了如何让您的数据根据​​需要进行增量更新,您就可以查看实现这一点所需的额外处理逻辑的原因以及是否真的值得。您的数十万行数据的数据集并不大,因此可能还不需要这种级别的处理,尽管该评估将取决于您当前流程的复杂性和耗时以及您必须运行它多长时间。


推荐阅读