MariaDB社区

标题: innodb 一次性插入亿级数据优化点 [打印本页]

作者: win1027    时间: 2012-12-5 20:21
标题: innodb 一次性插入亿级数据优化点
INSERT INTO table2(NAME, addr, createTime, comments)
SELECT NAME, MD5(addr), createTime, comments FROM table1;

需求:表table1有两亿数据,现需对addr字段进行md5摘要后保存到另外一张表,如以上sql。表table1、table2已分区。表table2初始为空表。
求助:现该sql很慢,如何优化?

作者: kider    时间: 2012-12-6 09:46
这样直接执行是会很慢的,因为table1的数据量实在是太大了。
应该在select语句上做控制,如后面加上Limit xxxxx,循环批量操作数据;要不根据table1主键或有索引的某列来分段取值,这样的效果会好很多。




欢迎光临 MariaDB社区 (http://123.56.88.72/) Powered by Discuz! X3.2