【问题标题】:INFORMATICA post/pre SQL QueryINFORMATICA post/pre SQL 查询
【发布时间】:2021-12-08 02:24:45
【问题描述】:

我正在使用 informatica,我正在从表中删除一个部分作为 pre sql 命令。最近表越来越大,删除需要太多时间才能完成我试图将我的查询分成小块,它可以工作在数据库上非常好:

use [My_DB];
GO
DECLARE @BatchSize INT = 1000
WHILE 1 = 1
BEGIN
DELETE TOP (@BatchSize)
FROM [dbo].[My_Table] where condition=0 ;     
IF @@ROWCOUNT < @BatchSize BREAK
END

但是当我在 INFORMATICA 上尝试它时它不起作用。 根本原因是什么,或者 informatica 能识别这种命令吗?

谢谢。

【问题讨论】:

  • 1.您在 DB 和 Infa 中使用的用户是否相同?如果没有,那么您可以尝试使用 infa 用户吗? 2.可以创建存储过程吗?然后调用 pre/post SQL ?

标签: sql-server query-optimization etl sql-delete informatica


【解决方案1】:

如果可能的话,我建议对表进行分区。可以truncate partition,几乎不需要任何时间。

使用@Koushik 建议的存储过程也是一个好主意。

要获得任何进一步的帮助,我们需要了解问题的性质。 “它不起作用”是什么意思?你有什么错误吗?

【讨论】:

    猜你喜欢
    • 2019-12-27
    • 2022-07-01
    • 1970-01-01
    • 2020-07-06
    • 2021-03-03
    • 2011-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多