我有一个我经常使用的UPDATE
(20-40次/分钟)。
哪个应该提供更好的结果:
使用绑定(bind)变量进行多次调用:
更新表设置 colA = :val1 where id = :val2
或使用具有可变数量值的 case 语句。 (20-40...)
Update Table
set colA = (case when id = 1 then 'a' when id=2 then 'b'
更新基于主键,即每个 id 1 行。
我将 MySQL
与 hibernate
结合使用。
最佳答案
理论上,我希望使用绑定(bind)参数的查询会执行得更好,因为 DML 执行计划应该比同等情况更容易缓存和重用。
关于MySql case语句性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42608944/