【发布时间】:2018-06-13 07:30:27
【问题描述】:
我们的系统中有一个名为“A”的表,它有大约 120 列(我知道该表未规范化,并且表规范化作为我们路线图中的积压项存在)。
目前,我们面临一个问题,即多个线程在更新同一个表行时会覆盖一些现有的更新列。我们的表实体上没有动态更新注释。
我正在考虑在表上添加该注释,因为这可以解决我们的问题,因为不同的线程在表的不同列上工作,并且如果在运行时生成 sql 仅更新这些列,那么它不会覆盖任何已完成的更新在不同线程的其他列上。
但我读到休眠缓存插入,更新所有列的表的 sql,以防动态更新不存在。
那么,在这里使用@DynamicUpdate 是否真正有益,或者在运行时生成动态 sql 的成本会导致性能下降?
有问题的表有数百万条记录,并且每隔一秒就会发生一次插入或更新(更新更频繁)。
【问题讨论】: