㈠ 大数据量INSERT
⑴ 使用多行插入代替单行:insert into t values (),(),(),...
⑵ LOAD DATA INFILE ... INTO TABLE t
⑶ 写入临时表、在 INSERT ... SELECT
⑷ 取消索引、约束,等数据加载完后在重建
⑸ INSERT时指定DELAYED属性
⑹ 对于InnoDB、可以分散INSERT到多个事务、批量提交
㈡ 大数据量UPDATE
这之前也应该disable掉索引和相关约束
① SELECT 唯一字段,变更字段
② 把结果集写入临时表
③ 为临时表创建复合索引
④ 循环临时表的每条记录
⑤ 依据临时表的唯一字段、更新目标表的变更字段
㈢ 大数据量DELETE
① 分区表
⑴ 使用多行插入代替单行:insert into t values (),(),(),...
⑵ LOAD DATA INFILE ... INTO TABLE t
⑶ 写入临时表、在 INSERT ... SELECT
⑷ 取消索引、约束,等数据加载完后在重建
⑸ INSERT时指定DELAYED属性
⑹ 对于InnoDB、可以分散INSERT到多个事务、批量提交
㈡ 大数据量UPDATE
这之前也应该disable掉索引和相关约束
① SELECT 唯一字段,变更字段
② 把结果集写入临时表
③ 为临时表创建复合索引
④ 循环临时表的每条记录
⑤ 依据临时表的唯一字段、更新目标表的变更字段
㈢ 大数据量DELETE
① 分区表
② 先把需要删除的数据的唯一标识取到临时表、游标循环批量delete
By DBA_WaterBin
2013-07-25
Good Luck

本文提供了一系列优化策略,针对大数据量的INSERT、UPDATE和DELETE操作进行优化,包括使用多行插入、LOAD DATA INFILE、临时表、分散事务提交等方法。对于大数据量的UPDATE操作,先disable索引和相关约束,再通过SELECT变更字段、写入临时表、创建复合索引等步骤实现高效更新。此外,还提供了大数据量DELETE操作的优化技巧,如分区表和通过唯一标识批量删除。
3265

被折叠的 条评论
为什么被折叠?



