java db 查询优化-抉择数据库事务支持

java db 查询优化---选择数据库事务支持

通过跟踪数据库连接的使用,发现很多查询没必要要求事务,只要支持事务即可,这样,查询速度快多了。

一方面是和服务器交互次数少了,不必调用setautocommit(true),commit等方法,另一方面,在非事务环境下,查询要快很多,消耗也少。  

只要把事务设置成PROPAGATION_SUPPORTS,即可。

<bean id="baseTxService" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean" abstract="true">
        <property name="transactionManager" ref="transactionManager" />
        <property name="proxyTargetClass" value="false" />
        <property name="transactionAttributes">
            <props>               
                 <prop key="find*">PROPAGATION_SUPPORTS,readOnly</prop>
                 <prop key="query*">PROPAGATION_SUPPORTS,readOnly</prop>
                <prop key="*">PROPAGATION_REQUIRED</prop>
            </props>
        </property>
    </bean>