【问题描述】有20多万条数据需要更新到一个表中表总的数据量是30万条左右,1小时会更新一次,数据表又存在其他查询和更新。所以经常造成更新的时候锁表,数据库卡死的情况。 【思路细节】目前采取的方式是,把表分区成9个,需要更新的部分拆分为5个不同的区,一次更新一个区,每次差不多4万条数据。删除一个分区。然后重建分区。然后插入数据。这样的结果就是这个过程中如果有查询和更新,就会等待和卡死。 目前方案, alter table 表 drop partition 分区; ALTER TABLE 表 REORGANIZE PARTITION 分区 INTO ( PARTITION 分区 VALUES LESS THAN (6), PARTITION 分区2 VALUES LESS THAN (7) ); insert into 表 (数据) select 数据 from 临时表;