我通过jdbc发布了一个db2 merge语句作为预处理语句,我想检查一下是否有人知道...
表现?它真的比...好。
是否有任何方法,通过jdbc api,除了受影响的行数之外,还有什么样的操作(插入或更新)已被执行?
答案 0 :(得分:1)
我们有一个应用程序,我们使用MERGE
。基本上,我们读取大量输入,使用这些输入计算值,并将得到的计算值插入数据库(其“键”可能已经存在,也可能不存在)。
我们的应用程序是.NET,因此我们不使用JDBC,但这里是我们测试的一些一般性说明:
使用MERGE
而不是“删除所有内容然后重新插入”时,最糟糕的情况是,MERGE
至少会匹配INSERT
方法的效果。
初始插入/更新的大多数改进通常都很小,但使用MERGE
会产生不需要RUNSTATS
或REORG
的副作用,这节省了我们相当多的处理能力,并提高了应用程序的一般性能。
此外,MERGE
方法比DELETE
/ INSERT
方法更加一致。对于非常小的计算,旧方法在5-10秒之间变化,其中MERGE
仅在一秒或两秒的范围内变化。
希望有所帮助!