3 回答

TA贡献1852条经验 获得超1个赞
您的评论线程提到在可接受的时间内填充未记录的会话表(声明的全局临时表),但您发现大部分时间都花在从会话表到最终表进行记录的插入选择上。
记录的插入比加载慢得多,但有时是唯一的选择。
您还可以使用各种技术来加速 Db2-LUW 上记录的插入速度,这些技术超出了本问题的范围,但 DBA 熟知这些技术。
我的建议是使用ADMIN_CMD存储过程调用从光标加载操作来填充最终表。
您测试了此方法并发现性能可以接受。
请注意,在 HA 配置中,您需要考虑负载的影响,可能需要使用load copy
或其他方法进行同步或恢复(数据库恢复等)。
如果 Db2 在云服务上运行,则可能还需要重新考虑该方法,具体取决于供应商提供的服务。

TA贡献1851条经验 获得超5个赞
您可以关闭对主表的插入记录。
alter table main_table activate 最初未记录。
该设置将一直保留,直到您进行提交。
如果您可以将 Excel 导出为逗号分隔文件,则可以使用加载命令,该命令要快得多。

TA贡献1780条经验 获得超5个赞
更改你的strmaintable Id 列缓存 1000,无顺序。
默认生成的id整数非null作为身份(从1开始,递增1,缓存1000,无顺序)
https://developer.ibm.com/technologies/databases/articles/dm-0403wilkins/#table5
添加回答
举报