是UPDATE命令比INSERT更耗资源

时间:2012-08-16 03:35:32

标签: mysql sql sql-update sql-insert

我在SQL中使用过的脚本有近40,000条记录,我注意到使用UPDATE命令时执行时间大大增加

在两个表中各有10个字段的表中,INSERT比这个UPDATE命令更快地执行组合

UPADTE table1
INNER JOIN table2 ON table1.primarykey = table2.primarykey
SET table1.code = table2.code

UPDATE真正做的是将代码从一个表复制到另一个存在相同记录的表,这是因为table1是两个数据库之间的临时表,而table2是一个拥有表来跨多个表插入临时表的数据,两个表的记录数相同,约为40,000

现在对我来说UPDATE应该执行得更快,考虑到它只连接2个相同的表并为1个字段插入数据,它应该比2个INSERTS更快地运行,其中在10个字段中创建40,000个记录(换句话说,插入800,000个数据)我正在SQL控制台窗口中运行查询以避免php超时

更新某种资源比INSERT更耗资,有没有办法让它更快(除了改变我使用单独的表进行处理的事实,登台表经常更新,所以我像快照一样复制数据并使用它,代码字段为NULL开始,所以我只复制具有NULL代码的记录意味着代码不是NULL的记录已经使用过了)

1 个答案:

答案 0 :(得分:2)

UPDATE命令是否是实际的SQL?因为您需要一个WHERE子句来避免更新表中的每条记录...

此外,INSERT首先不需要从2个连接表中找到要更新的记录。