6万多条的数据,如果是单条插入,时间将会是几分钟,而使用批量插入,只需要几秒钟,是什么让2者的速度相差如此之大?学习了MySQL的很多理论知识后,一定要用到实际应用中,批量插入的效率问题就是很简单的一个理论。
我们都知道,MySQL默认开启自动事务,也即每条SQL都会被当成一个事务,当插入6万多数据时,要开启6万次事务,事务的开销相比插入一条数据而言比例是非常高的,资源实际利用率是非常低的,而使用批量插入,只需开启一次事务,事务占用的开销比插入操作而言比例很小,资源实际利用率是很高的。
批量插入的语法如下:
insert into user(username, sex, birthday) values
('Steven Jobs', 'F', '1950-09-09'),
('Tony Stark', 'M', '1989-08-08');
在遇到多条数据插入的情况,一定是的批量插入,这是件非常划算的买卖。