㈠ 大数据量INSERT⑴ 使用多行插入代替单行:insert into t values (),(),(),...⑵ LOAD DATA INFILE ... INTO TABLE t⑶ 写入临时表、在 INSERT ... SELECT⑷ 取消索引、约束,等数据加载完后在重建⑸ INSERT时指定DELAYED属性⑹ 对于InnoDB、可以分散INSERT到多个事务、批量提交
㈡ 大数据量UPDATE这之前也应该disable掉索引和相关约束① SELECT 唯一字段,变更字段② 把结果集写入临时表③ 为临时表创建复合索引④ 循环临时表的每条记录⑤ 依据临时表的唯一字段、更新目标表的变更字段
㈢ 大数据量DELETE① 分区表② 先把需要删除的数据的唯一标识取到临时表、游标循环批量delete
推荐阅读:PL/SQL“ ORA-14551: 无法在查询中执行 DML 操作”解决 http://www.linuxidc.com/Linux/2013-06/86713.htmMySQL常用DDL、DML、DCL语言整理(附样例) http://www.linuxidc.com/Linux/2013-06/86431.htmOracle基本事务和ForAll执行批量DML练习 http://www.linuxidc.com/Linux/2011-08/39836.htmOracle DML语句(insert,update,delete) 回滚开销估算 http://www.linuxidc.com/Linux/2011-09/43287.htmMySQL Connector/Python 安装、测试利用硬链接原理秒删MySQL大文件相关资讯 DML操作
- 透过Buffer cache了解data block在 (03月17日)
- Oracle的DML操作过程 (08/10/2013 11:03:07)
| - SQL中DML(数据库操作语言)的使用 (08/07/2014 16:21:57)
|
本文评论 查看全部评论 (0)