Multithreading 如何在DB2中使用线程并行更新同一个表?

Multithreading 如何在DB2中使用线程并行更新同一个表?,multithreading,sql-update,db2,Multithreading,Sql Update,Db2,我正在尝试使用3个线程并行地更新一个表(使用不同where子句的3个update语句)。但当我试图检查运行代码的行为时,似乎更新是连续发生的 所以我的问题是,我们可以并行更新同一个表,还是即使使用线程也会连续更新 请给出建议。1)这取决于您使用的交易级别。2) 这取决于WHERE子句是否重叠(如果它们不是串行运行,则可能会出现问题)。3) 这取决于您的硬件(如果DB只能使用1个内核或其他因素,那么它可能无法并行化某些东西)。4) 这取决于您提交查询的方式。5) 这取决于它要做多少工作。。。您可以

我正在尝试使用3个线程并行地更新一个表(使用不同where子句的3个update语句)。但当我试图检查运行代码的行为时,似乎更新是连续发生的

所以我的问题是,我们可以并行更新同一个表,还是即使使用线程也会连续更新


请给出建议。

1)这取决于您使用的交易级别。2) 这取决于
WHERE
子句是否重叠(如果它们不是串行运行,则可能会出现问题)。3) 这取决于您的硬件(如果DB只能使用1个内核或其他因素,那么它可能无法并行化某些东西)。4) 这取决于您提交查询的方式。5) 这取决于它要做多少工作。。。您可以发布您的查询以及如何调用它们吗?平台和版本也可能起到一定作用。@Clockwork Muse:我正在aix box上使用ksh测试shell脚本并行运行另一个ksh脚本。在我的第一个脚本中,我将第二个脚本称为“${SUBARRAY[@]}”中的“…”;do(sh/home/achhatw/Test/acums_outbound.sh$i&);完成。因此,第二个脚本(accums_outbound.sh)将作为4个不同的进程同时执行,因为数组中有4个元素。所以现在在第二个脚本(acums_outbound.sh)中,我正在执行多个db select语句和一个update语句。更新查询:update$BAT_SCHEMA.T_STORE T set T.T_STS_CD='C',T.T_PRCSSD_DTTM='${current_date'yyyyymmddhhmmss}'其中T.T_PRTNR_ID='${sub}和T.TRANS STS_CD='N'和T.TRANS_RECV_DTTM<'${todate}:00:00'1)请在您的问题中输入这类信息。2) 我们还需要查看您的第二个脚本,以及该工具的任何其他设置(以确定事务设置之类的内容)。然而,您最大的问题似乎是应用程序设计,因为您当前的声明暗示了对串行访问的要求。了解您拥有的索引可能也很重要。您的日期范围查询可能也没有任何帮助-您可以进一步限制它吗?