通过Informatica对数据库中特定表的更新需要在特定时间间隔内花费很长时间

时间:2018-06-22 15:55:40

标签: sql-server informatica-powercenter

我是Informatica开发人员。

我在共享应用程序数据库(SQL Server)中有一个维度表。 我在表上有4个键,并且在此表上有一个唯一的非聚集索引。 在informatica目标中,我们将4列设置为与键列相同的列。 我们使用相同的4个键在此维度表上进行查找,以标记其为插入还是更新。

我在informatica中有一个计划,该作业每天以不同的间隔运行6次。对于所有早晨的工作量来说,工作运行得如此之快,更新的吞吐量约为1000 rec / sec。

但是仅对于晚上的负载而言,对于此特定表,吞吐量自12月15日开始每秒减少,这是从上个月开始的。

我们希望,可能还有其他东西可以锁定该表,或者在数据库端。因此,联系了DBA,他们启用了此特定表上的跟踪功能,但是他们无法识别其他任何内容。如果有人能以任何方式或我可能看到的任何暗示帮助我,那真的很棒。

informatica服务器也是共享服务器。但是在存在性能问题的此时,SQL Server和Informatica服务器均已轻载。如果我错过了任何事情,请告诉我,我可以尝试提供其他信息。该表有94列,该表的定义如下,其中一个SurrogateKey,B,C,D和E为键:

CREATE TABLE TEMP(
A [int] IDENTITY(1,1) NOT NULL,
B [varchar](8) NOT NULL,
C [varchar](11) NOT NULL,
D [varchar](3) NOT NULL,
E [varchar](2) NOT NULL,
F [varchar](1) NULL,
.
.
.
CP [char](1) NULL,
 CONSTRAINT [PK_T_TEMP] PRIMARY KEY CLUSTERED 
(
    [A] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY],
 CONSTRAINT [IX_T_TEMP] UNIQUE NONCLUSTERED 
(
    [A] ASC,
    [B] ASC,
    [C] ASC,
    [D] ASC,
    [E] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY];

所有列均基于4个键进行更新。因此,更新语句如下所示。

UPDATE TEMP
SET
F=?, 
G=?, 
H=?,
..
..
..
CP=?
WHERE B=? AND C=? AND D=? AND E=?;

0 个答案:

没有答案