有20万条数据,使用mysql数据库,insert与update哪个速度快;
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有20万条数据,使用mysql数据库,insert与update哪个速度快;相关的知识,希望对你有一定的参考价值。
参考技术Ainsert会更快一点,可以使用 INSERT INTO <target_table> SELECT <columns> FROM < source_table> 高效地将大量行从一个表(例如临时表)。
传输到按最小方式记录日志的其他表中。按最小方式记录日志可以提高语句的性能,减少在事务期间此操作填充可用事务日志空间的可能性。INSERT INTO 语句用于向表格中插入新的行。
INSERT INTO 表名称 VALUES (值1, 值2,....)INSERT INTO Persons (LastName, Address) VALUES ('Wilson', 'Champs-Elysees')。
Update是一个数据库SQL语法用语,用途是更新表中原有数据,单独使用时使用where匹配字段。Update 语句用于修改表中的数据。UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值。
扩展资料:
UPDATE的用法:
更新某一行中的一个列。
我们为 lastname 是 "Wilson" 的人添加 firstname:
UPDATE Person SET FirstName = 'Fred' WHERE LastName = 'Wilson' 。
更新某一行中的若干列。
我们会修改地址(address),并添加城市名称(city):
UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing'WHERE LastName = 'Wilson'。
参考资料来源:百度百科-SQL INSERT INTO
参考资料来源:百度百科-update
关于mysql大量数据insert into 的时候问啥执行起来慢
我要插入的数据大概上了百万条数据,我急需知道,请问有什么工具能够执行起来更快吗我无论是从dos是执行还是在sqlyog中执行都是不能够顺利的完成,希望有能人帮我支招!
使用ETL工具,平时我一般处理的记录不多百万没试过,10W条记录大概不到2分钟,有人用百万的测试记录。 ETL厂商ReikingIBM information server(datastage)informatic基本架构支持运行平台windows/unix/linuxwindows/unix/linuxwindows/unix/linux数据访问模式支持绝大部分支持绝大部分支持绝大部分支持数据抽取方式支持生成文件(落地)再导入;直接导入;消息协议直接导入;导入方式,数据导入支持批量加载(sql loader方式)、insert模式、行删除模式其中insert模式是插入到临时表,然后更新,需要手工写update语句,配置比较复杂,
行删除模式这种方式不考虑,性能肯定会非常差。
批量加载模式,是对方工程师推荐的测试方案,其性能应该是最快的.以下测试是基于批量加载模式直接导入;数据导入目的库有两种加载方式
normal和bulk,即普通插入和批量加载。
批量加载需要先将索引drop掉,在加载完成后重新创建,但是这种方式在对付
大数据量时很慢,例如下文测试hisdeliver 1个月的数据抽取,286万记录,需要4分47秒,比普通插入
要慢很多。下面的测试结果由informatic的工程师,其基于normal模式实时增量ETL支持递增字段实现,触发器模式,支持Oracle CDCCDC,实现秒级别的增量CDC,实现秒级别的增量,另外付费购买性能单表hisdeliver抽取,记录数124810,耗时比较1分16秒17秒15秒单表hisdeliver抽取,记录数2859999,耗时比较22分12秒6分12秒2分58秒采集sqlserver数据;采集表zygd(记录数:597872)测试报错41秒16秒流程中是否支持并行加载支持支持支持并行加载性能client 730279行5分钟1分14秒2分02秒clientinfo 739278行7分钟2分18秒1分50秒stockholder 108378911分钟2分59秒3分01秒hisdeliver 124810行未加载48秒20秒 参考技术A 插入上百万条数据?那你干脆直接用导入工具进行导入得了。
以上是关于有20万条数据,使用mysql数据库,insert与update哪个速度快;的主要内容,如果未能解决你的问题,请参考以下文章
mysql大量数据更新采用啥样的方式比较好,20w条数据一次更新?