快速检查跨越多个表的记录是否已更改

时间:2014-07-16 08:00:53

标签: sql etl

我是一名业余爱好者,目前正在尝试使用SQL服务器。 我想问一个关于将数据导入MULTIPLE相关表的SQL服务器相关问题。希望你们 可以指出我正确的方向,以最好的方式 解决我的问题(优化我的查询以更快地运行)。

我的问题: 我有一个查询从9个相关表中提取CLIENT数据,例如。

--Query output
Client_N: Client_S: Client_T: Address_1: Address_2: Address_3 -- and so on

基本上我正在结合A + B + C + D + E + F + G + H + I = 1大出口表。 现在我想将这些数据带入另一个数据库。我编写了一个存储过程来处理导入。

我的问题:我的导入存储过程的总输入参数是198(来自组合的9个表)。我的存储过程处理导入不存在的客户端和放大器。如果客户端已存在于我的目标数据库中,则更新客户端。 目前,我的存储过程的更新部分针对其目标字段/列检查每个单个参数以进行值更改。如果目标值与传入值不同,则使用传入值更新目标值。

有没有更快的方法来进行此项检查?因为,假设我在目标数据库中有20 000个现有客户端,由于它会单独检查198个字段以查找PER CLIENT / ROW中的任何更改,我的查询运行速度是否会超慢?

希望你们能给我一些关于这个的提示。 提前谢谢......

0 个答案:

没有答案