gpt4 book ai didi

java - 在事务下执行只读查询是否会造成性能损失?

转载 作者:行者123 更新时间:2023-12-02 08:09:06 25 4
gpt4 key购买 nike

使用基于 Spring AOP 的声明性事务管理将所有方法定义为事务性是否会带来性能损失?请参阅下面的配置。原因是我不知道开发者会给非事务性方法起什么方法名。一种选择是从通配符列表开始,如果方法名称不在定义的列表中,开发人员会更新该列表。

<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="*" />
</tx:attributes>
</tx:advice>

<aop:config>
<aop:pointcut id="dtxops" expression="bean(*Service)" />
<aop:advisor advice-ref="txAdvice" pointcut-ref="dtxops" />
</aop:config>

最佳答案

这取决于您使用的底层事务管理器。默认的 spring“每个线程事务,无 XA 事务”可能没有任何惩罚。如果您将 JBoss 与 XA 事务管理器一起使用,那么它会将一些数据写入事务日志。

-- 原文 -- 即使那样,我认为您也会发现性能损失相当小。

--已编辑--根据我的经验,使用 JBoss 事务管理器转换为只读时,我没有看到性能的巨大提升。根据下面的评论,至少一位用户看到性能提高了 30%,这是非常显着的。

关于java - 在事务下执行只读查询是否会造成性能损失?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7715075/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com