mysql批量插入优化
2016-04-26 22:00
232 查看
mysql批量插入数据时一般有如下两种方法:
(1)一次插入一条;当数据多时,循环执行该SQL语句;
(2)一次插入多条数据;
由于第一种方法中每一条记录的插入都会被mysql看做一次事务,所以会明显慢于第二种。我们可以将整个循环插入作为一个事务提交,这样能够大大提高它的插入速度。
第二种方法实际上就是对sql语句的拼接,将多条记录放在values后面。需要注意的时,它会出现sql语句过长的隐患,当values后面的记录比较多时。sql语句过长时,则需要对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进行配置。
相关文章推荐
- MYSQL的DOUBLE WRITE双写
- mysql
- Mysql 语句执行顺序
- mysql学习笔记(二)
- MySQL存储过程的异常定义及处理
- Mysql (二) - 增删改查
- MySQL指令记录(Wampserve环境)
- 使用sparksql读取mysql中的数据
- MySQL创建存储过程
- MySql查询方式优化-重新构建查询
- mysql中左连接,右连接,内连接查询
- 关于MySQL数据库重装失败,出现问题,重装的时候出现错误1130的问题和解决办法。
- Mysql学习笔记
- MySQL出现中文乱码
- mysql 事务处理,事务操作,JDBC中事务的使用,事务的sql语句,
- mysql主从复制,及扩展
- mysql中触发器的应用
- mysql修改编码格式
- mysql存储过程
- mysql数据库分表后生成全局id的几种方式