哪个版本更好(性能)?
1. update my_table set my_col = 1 where my_id = 100
update my_table set my_col = 1 where my_id = 110
update my_table set my_col = 1 where my_id = 120
2. update my_table set my_col = 1 where my_id in (100, 110, 120)
最佳答案
在您的情况下,两种方式的响应时间几乎相等,因为您只运行 3-4 个查询。
但是对于更多的查询或更新(批量更新更快),第二种方式肯定会更快,因为这会减少,
- 创建、绑定(bind)数据库连接
- 查询sql引擎的编译/优化任务
但是批量更新也有一个缺点,即当您在单个语句中更新多个记录时锁定表,表将被锁定那么长的时间。因此在考虑可接受的锁定期的情况下执行批量更新。
关于mysql - 多个更新或更新...在哪里,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23940714/