PLI/COBOL程序中最多可以维护多少个DB2多行提取游标?

PLI/COBOL程序中最多可以维护多少个DB2多行提取游标?,db2,mainframe,Db2,Mainframe,作为良好性能的一部分,PLI/COBOL程序中可以维护多少(最多)个DB2多行获取游标 我要求在PLI程序中维护4个游标,但我关心的是单个程序中的多取游标的数量 是否有其他方法检查多行提取是否比普通游标更有效?我尝试了1000条记录,但看不到运行时差 IBM(PDF)在2005年首次在DB28中提供此功能时,介绍了多行获取性能。他们的数据没有提到给定程序中游标的数量,只提到获取的行数 从这一点,我推断,从性能的角度来看,多行获取游标的数量本身并不值得关注——这是合理的。如果有人用10000个这样

作为良好性能的一部分,PLI/COBOL程序中可以维护多少(最多)个DB2多行获取游标

我要求在PLI程序中维护4个游标,但我关心的是单个程序中的多取游标的数量

是否有其他方法检查多行提取是否比普通游标更有效?我尝试了1000条记录,但看不到运行时差

IBM(PDF)在2005年首次在DB28中提供此功能时,介绍了多行获取性能。他们的数据没有提到给定程序中游标的数量,只提到获取的行数

从这一点,我推断,从性能的角度来看,多行获取游标的数量本身并不值得关注——这是合理的。如果有人用10000个这样的诅咒来突破理智的极限,我不会为他们的痛苦负责

与前面链接的IBM红皮书指出,每次获取10行的CPU时间提高了40%,每次获取100多行的CPU时间提高了50%。注意事项:

通常,使用多行提取的性能改进取决于 关于:

  • 一次提取中提取的行数
  • 获取的列数 (更多改进,列更少)、数据类型和 纵队
  • 获取的复杂性。为免维护而节省的固定开销 必须介于数据库引擎和应用程序之间 对于路径较长的复杂SQL具有较低的百分比影响 长度
如果多行提取在每条语句中读取更多行,则会导致 CPU时间提高,但在每次多行提取10到100行之后, 效益降低了。效益降低是因为,如果成本 在单行语句中,每行的一个API开销的 除以一条SQL语句中处理的行数。所以 10行变为10%,100行变为1%,1000行变为0.1%,以及 这样,好处就变得微不足道了

红皮书还讨论了他们如何进行测试以获得性能数据。简言之,他们改变了检索到的行数,并多次重新运行程序,这与您所期望的差不多