Mysql性能优化 - 优化INSERT语句
1.插入流程
1.连接到数据库服务器
2.向服务器发送sql
3.解析sql
4.打开欲操作的表
5.执行insert
6.更新索引
7.结束
2.一次插入多条数据
insert into tab_nm1
(key1,key2)
values
(value1,value2)
(value1,value2)
(value1,value2)
(value1,value2)
(value1,value2)
3.LOAD_DATA_INFILE
// 如果你从文本文件加载表,那么load_data_infile的速度比insert快20倍左右
4.利用默认值
只有当需要插入的值与默认值不同的时候,才填写该值。可以加快sql的解析速度,并提高insert效率
5.批量insert优化
1.在使用批量insert的时候,数据最好不要超过1000行,特别需要注意的是,如有有涉及到表复制争用的时候。
2.在进行大批量的insert之前,最好根据主键或者unique键先进行排序要插入的行,这样做的目的是帮助缓存
快速流动,并尽量避免死锁