假设我有一个简单的表,其中包含以下字段:
- ID:int、自增(身份)、主键
- 名称:varchar(50),唯一,有唯一索引
- Tag: int
我从不使用 ID 字段进行查找,因为我的应用程序始终基于使用 Name 字段。
我需要不时更改标签值。我正在使用以下简单的 SQL 代码:
UPDATE Table SET Tag = XX WHERE Name = YY;
我想知道是否有人知道上面是否总是比以下更快:
DELETE FROM Table WHERE Name = YY;
INSERT INTO Table (Name, Tag) VALUES (YY, XX);
再次 - 我知道在第二个示例中 ID 已更改,但这对我的应用程序来说并不重要。
这个答案有点晚了,但由于我遇到了类似的问题,我在同一台机器上使用 JMeter 和 MySQL 服务器进行了测试,我在其中使用了:
- 包含两个 JDBC 请求的事务控制器(生成父示例):删除和插入语句
- 包含 Update 语句的单独 JDBC 请求。
经过500次循环的测试,我得到了以下结果:
DEL + INSERT - 平均:62ms
更新 - 平均:30ms
Results:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)