我有两张桌子可以说A& B.我想以批处理的方式将表B数据插入表A.例如,我想每次执行插入查询时只插入100行。
答案 0 :(得分:0)
您可以对源表上的select
查询使用分页来限制每次获得的结果并批量插入。有几种可能的方法,which this article discusses。
但是,如果您只想将整个表从一个位置复制到另一个位置,则应该使用游标中的load table
。这将更快,更快。请参阅another DB2 article explaining how to do this。
其他一些加速大插页的策略(即使你不复制整个表格也能正常工作):
activate not logged initially
禁用目标表的日志记录。 谨慎使用(并且仅在适当的时候),如果出现任何问题,表格处于不可恢复的状态,必须重新创建! locksize table
。这将阻止此表在插入期间使用,但它将阻止为插入的每一行创建数据库锁,这可以提高性能。注意:文档链接是我可以轻松找到的任何DB2版本。请确保检查自己版本的文档,因为版本之间存在一些非常大的差异。