链接到SQLServer2005后,DB2事务数据库的性能受到影响



我们有一台AS400大型机运行我们的DB2事务数据库。我们还有一个SQL Server设置,它每晚都会加载来自AS400的数据。SQL Server安装程序用于报告。

我可以链接这两个数据库服务器,但是,有人担心来自SQL Server的查询可能会对DB2的性能造成多大的影响。

基本上,我们担心的是,如果我们开始使用SQL Server的查询来访问DB2,我们将使事务系统陷入困境,并导致订单和运输混乱。

提前感谢您提供任何可以分享的知识。

任何人对性能问题的答案都是错误的:-)适当的答案是总是"取决于情况"性能调整最好通过测量、更改一个变量、重复进行。

DB2fori甚至不应该注意到是否有人执行了1000行SELECT语句。接受Benny的建议,在IBM的监督下运行一个。如果他们想要提示,请使用WRKACTJOB并对Int列进行排序。这表示交互响应时间。我想,在他们有时间注意到它处于活动状态之前,查询就会完成。

如果这对管理层来说是不可接受的,那么也许可以在下班前或下班后进行测试,因为这可能不会影响交互性能。

顺便说一句,RPG玩家也可以即时创建Excel电子表格。Scott Klement在Java POI/HSF类上发布了一些RPG包装器。此外,Easy400.net的Giovanni Perrotti提供了一些从网页提供Excel电子表格的例子。

我最同意Buck的观点,1000行的结果集没什么大不了的。。。

当然,除非系统正在数百个表中查找数十亿行,以获得您感兴趣的1000行

假设存在有用的索引,1000行应该不是什么大不了的事。如果您安装了IBM i Access for Windows,System i Navigator中有一个名为"Run SQL Scripts"的组件,其中包括"Visual Explain",它提供了查询执行计划的可视化解释。查看是否可以确保正在使用索引。

在关键的事情上,确保工作是在i上完成的。当使用标准链接表时,MS SQL Server将尝试收回所有行,然后自己做"在哪里"。

从MYLINK.MYIBM.MYLIB.MYTABE中选择*,其中MYKEYFLD='0035';

而这种格式将语句发送到远程服务器进行处理,然后只返回结果:

select*from openquery(MYLINK,'select*from mylib.mytable,其中MYKEYFLD=''00335'');

或者,你可以让i帮你构建一个存储过程,你可以调用它来获取你想要的结果。就我个人而言,这是我喜欢的方法。

Charles

最新更新