sql ibatis配备优化

sql ibatis配置优化
参数名称
 参数说明
 
cacheModelsEnabled
 是否启动ibatis中的缓存功能。
 
enhancementEnabled
 是否需要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" />
–end–
---转载


<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"/>