刷新SQL Server表

时间:2018-08-04 19:27:26

标签: sql sql-server

背景

我的数据库中有一个巨大的表(Table A)。从中,我根据业务规则应用了一些过滤器。然后,我将这些过滤器应用于另一个表(Table B)。

因此,Table B将始终包含来自A的数据,并且总是小得多。 Table A包含500,000个条目,Table B包含3000个条目。

两个表都具有相同的结构。

问题

巨大的表(Table A)可以随时更新,恕不另行通知。因此,为确保Table B包含最新的业务数据,需要定期刷新。在这种情况下,我每周执行一次。

解决方案

如何解决这个问题,是通过设置一个简单的存储过程来执行以下操作:

  1. 截断表B

  2. Table AINSERT数据上的过滤器应用到Table B

这个问题是我每周必须截断表的事实。我想知道是否有一种更有效的方法,而不是删除所有数据并将数据重新插入表中?

有没有一种方法可以检查A中哪些值在B中丢失并相应地添加它们?

谢谢

1 个答案:

答案 0 :(得分:0)

创建一个View,而不是在存储过程中执行此操作。视图与表保持同步,因为表A中的数据更改,视图将自动更新。 以下是您可能需要阅读的有关Views and how they work.

的一些详细信息

How to create Views