Db2性能—许多批处理程序在同一个表中插入行

Db2性能—许多批处理程序在同一个表中插入行,db2,Db2,大家好,我正在寻求IBMDB2性能专家的建议 在这种情况下,许多批处理任务同时在同一个db2表中大量插入行 这种情况看起来可能很糟糕。我认为db2不能足够快地解决许多请求,导致并发任务需要更长的时间才能结束,甚至导致其中一些任务使用-904或-911 SQL代码异常终止 你们觉得怎么样?应该避免这种情况吗?是否有一些技术可以提高批处理任务的性能,防止它们中止或运行太慢 谢谢。在运行ETL工作负载时,插入应该不是一个大问题,也就是说,使用DataStage可以一直这样做。 我建议开一家旅行社 AL

大家好,我正在寻求IBMDB2性能专家的建议

在这种情况下,许多批处理任务同时在同一个db2表中大量插入行

这种情况看起来可能很糟糕。我认为db2不能足够快地解决许多请求,导致并发任务需要更长的时间才能结束,甚至导致其中一些任务使用-904或-911 SQL代码异常终止

你们觉得怎么样?应该避免这种情况吗?是否有一些技术可以提高批处理任务的性能,防止它们中止或运行太慢


谢谢。

在运行ETL工作负载时,插入应该不是一个大问题,也就是说,使用DataStage可以一直这样做。 我建议开一家旅行社

ALTER TABLE <tabname> APPEND ON 
这避免了自由空间搜索-可以找到详细信息


所报告的信息不足以得出原因。

有几点要考虑。表上的索引是一个

Append模式可以很好地缓解最后一页争用,但也存在一些问题,您可能会看到变体锁语句本身的争用。如果事务日志速度不够快,则可能会出现问题


什么是表、索引和语句,也许我们可以想出方法。您使用的是什么硬件,事务日志和数据库表空间使用的是什么io子系统。

有许多方法可以尝试提高插入性能,其中最重要的方法包括已附加的答案、索引的更改,以及其他一些方法,如批量插入等,可以在这里找到:不可能说你遇到了什么样的瓶颈。如果您可以很容易地重现插入速度慢,请在发布期间收集db2mon:并在此处发布报告-它应该允许我告诉瓶颈在哪里。这是一个仅用于存储批处理任务is ZOS写入的记录的表。我预见到的潜在问题是,随着同时执行的作业越多,由于争用而导致异常终止的可能性就越大。这种情况已经发生过几次了。您应该在db2-zos中提出这个问题。非常感谢。这种附加模式看起来很有希望。