首頁  >  文章  >  資料庫  >  MySQL大DML操作建议_MySQL

MySQL大DML操作建议_MySQL

WBOY
WBOY原創
2016-06-01 13:31:35837瀏覽

bitsCN.com

MySQL大DML操作建议

 

     ㈠ 大数据量INSERT

     

     ⑴ 使用多行插入代替单行:

 

insert into t values (),(),(),...

 

     

     ⑵

 LOAD DATA INFILE ... INTO TABLE t

 

     

     ⑶ 写入临时表、在 INSERT ... SELECT 

     

     ⑷ 取消索引、约束,等数据加载完后在重建

     

     ⑸ INSERT时指定DELAYED属性

     

     ⑹ 对于InnoDB、可以分散INSERT到多个事务、批量提交

     

     ㈡ 大数据量UPDATE

        

        这之前也应该disable掉索引和相关约束

        

     ① SELECT 唯一字段,变更字段

     ② 把结果集写入临时表

     ③ 为临时表创建复合索引

     ④ 循环临时表的每条记录

     ⑤ 依据临时表的唯一字段、更新目标表的变更字段

     

     ㈢ 大数据量DELETE

     

     ① 分区表

     ② 先把需要删除的数据的唯一标识取到临时表、游标循环批量delete

bitsCN.com
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn