>  기사  >  데이터 베이스  >  MySQL大DML操作建议_MySQL

MySQL大DML操作建议_MySQL

WBOY
WBOY원래의
2016-06-01 13:31:35835검색

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으로 문의하세요.