sqlibatis配置优化参数名称参数说明cacheModelsEnabled是否启动ibatis

sql ibatis配置优化

  参数名称                                                                                           参数说明

 cacheModelsEnabled 是否启动ibatis中的缓存功能。 

enhancementEnable 是否需要POJO启动Java字节码增强功能,可以提升getter/setter的调用效能避免Java反射所带来的性能开销。

 lazyLoadingEnabled 是否同时Lazy Loading带来极大的性能提升。

 useStatementNamespaces 是否使用 domain xml 文件中 namespace 别名配置。

 maxRequests 最大并发请求数(Statemetn数)。 

maxTransactions 最大并发事务数 

maxSessions 最大Session数,当前最大允许的并发 SqlMapCliect数 ,maxSessions 须界于 maxTransactions和maxRequests之间进行配置 根据自己的多次实践证明,发现这些配置参数的选择与数值将对系统的影响是很大的。 

经过多次摸索,按照以下配置参数进行配置可以将ibatis的性能进行提升。仅供参数,还需要根据您自己的实 际情况来界定。 具体配置参数如下: 

               <sqlMapConfig> 

                         <settings cacheModelsEnabled="true" lazyLoadingEnabled="true" enhancementEnabled="true" errorTracingEnabled="true" maxSessions="1024" maxTransactions="512" maxRequests="2048" useStatementNamespaces="true" />

            <sqlMapConfig> 


<!-- 参数说明:

 cacheModelsEnabled: 启用或禁用SqlMapClient的所有缓存model。调试程序时使用。

 

enhancementEnabled: 启用或禁用运行时字节码增强,以优化访问Java Bean属性的性能,同时优化延迟加载 的性能。


 lazyLoadingEnabled: 启用或禁用SqlMapClient的所有延迟加载。调试程序时使用。

 

maxRequests: 同时执行SQL语句的最大线程数。大于这个值的线程将阻塞直到另一个线程执行完成。 不同的DBMS有不同的限制值,但任何数据库都有这些限制。通常这个值应该至少是 maxTransactions的10倍,并且总是大于maxSessions和maxTranactions。 减小这个参数值通常能提高性能。


maxSessions: 同一时间内活动的最大session数。一个session可以是代码请求的显式session, 也可以是当线程使用SqlMapClient实例(即执行一条语句)自动获得的session。 它应该总是大于或等于maxTransactions并小于maxRequests。减小这个参数值通常能 减少内存使用。 


maxTransactions: 同时进入SqlMapClient.startTransaction()的最大线程数。大于这个值的线程将阻塞 直到另一个线程退出。不同的DBMS有不同的限制值,但任何数据库都有这些限制。这个 参数值应该总是小于或等于maxSessions并总是远远小于maxRequests。减小这个参数值 通常能提高性能


useStatementNamespaces: 如果启用本属性,必须使用全限定名来引用mapped statement。

Mapped statement的 全限定名由sql-map的名称和mapped-statement的名称合成,例如 queryForObject(“sqlMapName.statementName”) --> <settings cacheModelsEnabled="true" enhancementEnabled="false" lazyLoadingEnabled="false" maxRequests="3000" maxSessions="3000" maxTransactions="3000" useStatementNamespaces="false"/> 


<!-- 添加sql map文件。当一个SQL Map文件太大的时候,可以拆分成若干个小的文件。 建议按照模块拆分sql map文件,比如sqlmap-mapping-module-a.xml, sqlmap-mapping-module-a.xml。 命名规范为:sqlmap-mapping-模块名.xml(全部小写) --> <sqlMap resource="sqlmap-mapping.xml"/> <sqlMap resource="sqlmap-mapping-common.xml"/>

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值