本篇内容主要讲解“向MySQL中插入100万条数据需要多长时间”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“向MySQL中插入100万条数据需要多长时间”吧!1、多线程插入(单表)2、多线程插入(多表)3、预处理SQL4、多值插入SQL5、事务(N条提交一次)问:为何对同一个表的插入多线程会比单线程快?同一时间对一个表的写操作不应该是独占的吗?答:在数据里做插入操作的时候,整体时间的分配是这样的:1、多链接耗时 (30%)2、多发送query到服务器 (20%)3、多解析query (20%)4、多插入操作 (10% * 词条数目)5、多插入index (10% * Index的数目)6、多关闭链接 (10%)从这里可以看出来,真正耗时的不是操作,而是链接,解析的过程。MySQL插入数据在写阶段是独占的,但是插入一条数据仍然需要解析、计算、最后才进行写处理,比如要给每一条记录分配自增id,校验主键唯一键属性,或者其他一些逻辑处理,都是需要计算的,所以说多线程能够提高效率。分区分表后使用多线程插入。普通SQL :即使用Statement接口执行SQL预处理SQL :即使用PreparedStatement接口执行SQL使用PreparedStatement接口允许数据库预编译SQL语句,以后只需传入参数,避免了数据库每次都编译SQL语句,因此性能更好。普通插入SQL:INSERT 免费主机域名INTO TBL_TEST (id) VALUES(1)多值插入SQL:INSERT INTO TBL_TEST (id) VALUES (1), (2), (3)使用多值插入SQL,SQL语句的总长度减少,即减少了网络IO,同时也降低了连接次数,数据库一次SQL解析,能够插入多条数据。在一个事务中提交大量INSERT语句可以提高性能。1、将表的存储引擎修改为myisam 2、将 sql 拼接成字符串,每 1000 条左右提交事务。执行多条SQL语句,实现数据库事免费主机域名务。mysql数据库多条SQL语句10w条数据大概用时10s!到此,相信大家对“向MySQL中插入100万条数据需要多长时间”有了更深的了解,不妨来实际操作一番吧!这里是云技术网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
相关推荐: mysql启用skip-name-resolve模式时出现Warning怎么解决
本篇内容介绍了“mysql启用skip-name-resolve模式时出现Warning怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 查看mysql告…