您的位置:首页 > 数据库 > MySQL

mysql批量插入优化

2016-04-26 22:00 232 查看
mysql批量插入数据时一般有如下两种方法:

(1)一次插入一条;当数据多时,循环执行该SQL语句;

INSERT INTO example
(example_id, name, value, other_value) VALUES
(100, 'Name 1', 'Value 1', 'Other 1');


(2)一次插入多条数据;

INSERT INTO example
(example_id, name, value, other_value)
VALUES
(100, 'Name 1', 'Value 1', 'Other 1'),
(101, 'Name 2', 'Value 2', 'Other 2'),
(102, 'Name 3', 'Value 3', 'Other 3'),
(103, 'Name 4', 'Value 4', 'Other 4');


由于第一种方法中每一条记录的插入都会被mysql看做一次事务,所以会明显慢于第二种。我们可以将整个循环插入作为一个事务提交,这样能够大大提高它的插入速度。

第二种方法实际上就是对sql语句的拼接,将多条记录放在values后面。需要注意的时,它会出现sql语句过长的隐患,当values后面的记录比较多时。sql语句过长时,则需要对mysql进行配置。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: