尽管这些设置在某些情况下可以提高性能,但在其他情况下它们实际上会降低性能。
任何人都可以建议一些示例/场景提及相同的负面性能影响吗?
Hibernate 缓存每个实体的实际 INSERT/SELECT/UPDATE SQL 字符串,明显的好处是当您想要持久化、查找或更新实体时,它不必计算 SQL。
但是,在使用动态插入或动态更新时,Hibernate 每次都必须生成相应的 SQL 字符串,因此在 Hibernate 端存在性能成本。
换句话说,在数据库端和 Hibernate 端的开销之间存在权衡。
我的观点是动态插入和动态更新对于具有胖 blob 列的表或具有大量列的表可能很有趣。在其他情况下,我不相信动态插入或更新总是意味着性能提升(默认情况下我不使用它们)。但与往常一样,你应该衡量它。