只有当行存在时,才需要在表中更新行.
UPDATE table1 SET ctime = now() WHERE id = 112233;
Run Code Online (Sandbox Code Playgroud)
或者select以前
IF EXISTS (SELECT 1 FROM table1 WHERE id = 112233) THEN
UPDATE table1 SET ctime = now() WHERE id = 112233;
END IF;
Run Code Online (Sandbox Code Playgroud)
哪个查询更好地减少写操作?
出于性能目的,我是否需要在UPDATE之前执行SELECT以检查行是否存在?
这个查询:
UPDATE table1
SET ctime = now()
WHERE id = 112233;
Run Code Online (Sandbox Code Playgroud)
完全符合你的要求.它会更新符合WHERE条件的所有行- 超过零行.
如果您担心性能,请在上面创建索引table1(id).如果id是主键,那么它已经有一个索引.
| 归档时间: |
|
| 查看次数: |
2291 次 |
| 最近记录: |