刷新SQL Server表

刷新SQL Server表,sql,sql-server,Sql,Sql Server,背景 我的数据库中有一个巨大的表(表a)。从中,我根据业务规则应用了一些过滤器。然后我将这些过滤器应用到另一个表中(表B) 因此,表B将始终包含来自A的数据,并且总是小得多表A包含500000个条目,表B包含3000个条目 两个表具有相同的结构 问题 巨大的表格(表格A)可以随时更新,恕不另行通知。因此,为了确保表B包含最新的业务数据,需要定期刷新。在这种情况下,我每周做一次 解决方案 我是通过设置一个简单的存储过程来实现这一点的,该存储过程执行以下操作: 截断表B 对表A应用过滤器,并将数据插

背景

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

因此,
表B
将始终包含来自A的数据,并且总是小得多<代码>表A包含500000个条目,
表B
包含3000个条目

两个表具有相同的结构

问题

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

解决方案

我是通过设置一个简单的存储过程来实现这一点的,该存储过程执行以下操作:

  • 截断表B

  • 表A
    应用过滤器,并将
    数据插入
    表B

  • 问题是我每周都要截断表。我想知道是否有一种更有效的方法来做到这一点,而不是删除所有数据并重新将数据插入表中

    是否有办法检查a中哪些值在B中缺失,并相应地添加它们


    谢谢,不要在存储过程中这样做,而是创建一个视图。视图与表保持同步,随着表A中数据的更改,视图将自动更新。 以下是您可能想了解的一些详细信息


    只需创建一个视图,而不是单独的表。@GordonLinoff-这个视图可以像表一样被查询吗?@GordonLinoff-此外,当原始表被更改时,视图是否会自动更新?两个问题:是。@OdaySalim,确保在大表上有索引,以便通过视图优化查询。