2013-05-01 56 views
0

如何在批量更新模式下指定在Tibco JDBC Update活动中删除的记录数。在Tibco JDBC Update活动中指定要删除的记录no

其实我需要从数据库中删除2500万条记录,所以我写了Tibco代码来做同样的事情,并且花了很多时间..所以我打算在删除查询中使用批处理模式,所以我没有知道如何在JDBC Update活动中指定任何记录。

帮助我,如果任何人有任何想法..感谢

回答

1

从文档的批量更新复选框:

如果准备在 SQL语句的参数,此字段才有意义(请参阅准备参数)。

在这种情况下,输入将是一个记录数组。它会为每条记录执行一次语句。

为了避免运行内存,你仍然需要遍历25mil,但你可以在1000或10000

组迭代如果这是不是你会做经常(删除25M行,听起来很漂亮一次),另一种方法是使用BW创建一个包含删除语句的文件,然后将该文件提供给DBA执行。

+0

谢谢汤姆的回复。我也是这样做的,但问题是需要很长时间。我会告诉我的BW设计。请仔细阅读并告诉我改进它的建议。 – Raj 2013-05-03 16:58:11

+0

嗨拉杰。我已经添加了一个可行的替代方案,如果它不是经常做的事。 – 2013-05-06 05:39:08

0

请使用jdbc palette的子集功能!让我知道你是否面临任何问题?

0

我建议两点:

  1. 如果这是一次活动,则它不劝使用Tibco的BW代码为。 SQL脚本应该是更好的选择。

  2. 当你说2500万条记录 - 这是基于什么标准。它可以通过子集迭代来实现。但是Pre-Prod环境中应该进行适当的负载测试,以检查该进程是否不会导致任何内存/数据库问题。

您还可以尝试使用SQL过程并通过BW调用相同的过程。