首页 > 解决方案 > INFORMATICA post/pre SQL 查询

问题描述

我正在使用 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 是否识别这种命令?

谢谢你 。

标签: sql-serverquery-optimizationetlsql-deleteinformatica

解决方案


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

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

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


推荐阅读