一: 插入数据的优化
1.insert
如果我们需要一次性往数据库表中插入多条记录,可以从以下三个方面进行优化
- 优化方案一
批量插入数据 Insert into tb_test values(1,'Tom'),(2,'Cat'),(3,'Jerry');
优化方案二
start transaction; insert into tb_test values(1,'Tom'),(2,'Cat'),(3,'Jerry'); insert into tb_test values(4,'Tom'),(5,'Cat'),(6,'Jerry'); insert into tb_test values(7,'Tom'),(8,'Cat'),(9,'Jerry'); commit;
优化方案三
主键顺序插入,性能要高于乱序插入,由于B+树的原因,可以减轻检索重量,减低检索速度
主键乱序插入 : 8 1 9 21 88 2 4 15 89 5 7 3
主键顺序插入 : 1 2 3 4 5 7 8 9 15 21 88 89
2 大批量插入数据一次性需要插入大批量数据(比如: 几百万的记录),使用insert语句插入性能较低,此时可以使用MySQL数据库提供的load指令进行插入
-- 客户端连接服务端时,加上参数 -–local-infile mysql –-local-infile -u root -p -- 设置全局参数local_infile为1,开启从本地加载文件导入数据的开关 set global local_infi