对于一些数据量较大的系统,面临的问题除了是查询效率低下,还有一个很重要的问题就是插入时间长。我们就有一个业务系统,每天的数据导入需要4-5个钟。这种费时的操作其实是很有风险的,假设程序出了问题,想重跑操作那是一件痛苦的事情。因此,提高大数据量系统的MySQL insert效率是很有必要的。经过对MySQL的测试,发现一些可以提高insert效率的方法,供大家参考参考。1. 一条SQL语句插入多条数据。常用的插入语句如:
- INSERT INTO `insert_table` (`datetime`, `uid`, `content`, `type`) VALUES ("0", "userid_0", "content_0", 0);
- INSERT INTO `insert_table` (`datetime`, `uid`, `content`, `type`) VALUES ("1", "userid_1", "content_1", 1);
修改成:
INSERT INTO `insert_table` (`datetime`, `uid`, `content`, `type`)
VALUES ("0", "userid_0", "content_0", 0), ("1", "userid_1", "content_1", 1); 修改后的插入操作能够提高程序的插入效率。这里第二种SQL执行效率高的主要原因有两个,一是减少SQL语句解析的操作, 只需要解析一次就能进行数据的插入操作,二是SQL语句较短,可以减少网络传输的IO。这里提供一些测试对比数据,分别是进行单条数据的导入与转化成一条SQL语句进行导入,分别测试1百、1千、1万条数据记录。
| 记录数 | 单条数据插入 | 多条数据插入 |
| 1百 | 0.149s | 0.011s |
| 1千 | 1.231s | 0.047s |
| 1万 | 11.678s | 0.218s |
SQL Server连接Oracle详细步骤Oracle 常用连接查询方法和函数相关资讯 MySQL优化 MySQL基础教程
- MySQL中索引和优化的用法总结 (今 14:24)
- MySQL优化技术 (04月09日)
- 关于skip_name_resolve参数的总结 (03月26日)
| - MySQL优化 - 开启MySQL慢查询日志 (05月12日)
- MySQL explain执行计划优化 (04月09日)
- MySQL数据库的优化 (03月05日)
|
本文评论 查看全部评论 (0)