Heim  >  Artikel  >  Datenbank  >  MySQL大DML操作建议_MySQL

MySQL大DML操作建议_MySQL

WBOY
WBOYOriginal
2016-06-01 13:31:35837Durchsuche

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
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn