生产数据库中有大量数据,我想用批数据进行更新,而表中的数据仍可供最终用户使用。更新可以插入新行或更新现有行。具体的表格大约有50M行,更新将在每批“批量”100k到1M行之间。我想要做的是以低优先级插入替换。换句话说,我希望数据库能够缓慢地进行批量导入,而不会影响同时发生在相同磁盘主轴上的其他查询的性能。更复杂的是,更新数据的索引很大。 8个跨越多列的b-tree索引,以促进各种查找,这会增加导入的相当多的开销。在生产数据库中更新大量数据
我曾经想过把插入物分成1-2k个记录块,然后让外部脚本加载数据只是在每个插入点之间暂停几秒钟,但这真是一种嗜好的恕我直言。另外,在1M记录批次期间,如果不需要,我真的不想添加500-1000次2秒暂停以增加20-40分钟的额外加载时间。任何人有更好的方式来做到这一点的想法?
等待低活动期,或如您所建议的,使批次小得多。 – Randy 2011-04-14 21:34:09