我认为这需要更少的时间,因为这是我的命令:
UPDATE device SET Area = " + btn + " WHERE Name = 1由于某种原因,这是2160字节,而插入只需要1500个字节,即使我插入的数据比更新的要多。这有什么原因吗?我用Wireshark检查了数字。
是因为MS访问吗?或者是由于MySQL quering是如何工作的?
发布于 2015-05-18 04:46:18
当您执行UPDATE时,如下所示:
UPDATE device SET Area = " + btn + " WHERE Name = 1您需要发送有关表、列、值和位置限制的信息。但是,当您执行这样的INSERT时:
INSERT INTO device (Area) VALUES (...)您不需要在WHERE子句中发送限制。这意味着与对相同值执行UPDATE相比,它所需的信息更少。
您可以将INSERT看作是告诉MySQL引擎转到表的末尾并创建一个新记录,而UPDATE强制MySQL搜索整个表以查找要更改的记录。
发布于 2015-05-18 04:54:17
查看这篇文章:Cost of Inserts vs Update in SQL Server
更新在更新之前做一个额外的查找:所以您必须查找行后面的插入。
插入您只是附加到表的末尾。
我认为正在发送更多的信息进行查找。不是一个DBA个人,但上面的帖子可以给你一些洞察力。
https://stackoverflow.com/questions/30295228
复制相似问题