diff --git a/README.md b/README.md index 37ab930..e0fd9b7 100644 --- a/README.md +++ b/README.md @@ -245,17 +245,17 @@ maxTotal=8 maxIdle=8 #最小空闲连接:连接池中容许保持空闲状态的最小连接数量,低于这个数量将创建新的连接,如果设置为0则不创建 -#注意:需要开启空闲对象回收器,这个参数才能生效。 +#注意:timeBetweenEvictionRunsMillis为正数时,这个参数才能生效。 #默认为0 minIdle=0 -``` -## 连接存活参数 -```properties + #最大等待时间 #当没有可用连接时,连接池等待连接被归还的最大时间(以毫秒计数),超过时间则抛出异常,如果设置为<=0表示无限等待 #默认-1 maxWaitMillis=-1 - +``` +## 连接存活参数 +```properties #资源池中资源最小空闲时间(单位为毫秒),达到此值后将被移除。 #默认值1000*60*30 = 30分钟 minEvictableIdleTimeMillis=1800000 @@ -270,7 +270,7 @@ maxConnLifetimeMillis=-1 ``` ## 连接检查参数 -针对连接失效和连接泄露的问题,建议开启空闲资源回收器。 +针对连接失效和连接泄露的问题,建议开启`testWhileIdle`,而不是开启`testOnReturn`或`testOnBorrow`,从(从性能考虑)。 ```properties #-------------连接检查情况-------------------------------- @@ -310,11 +310,12 @@ evictionPolicyClassName=org.apache.commons.pool2.impl.DefaultEvictionPolicy ## 缓存语句 -缓存语句建议开启。 +缓存语句在`mysql`下建议关闭。 ```properties #-------------缓存语句-------------------------------- -#是否缓存PreparedStatements,这个功能在一些支持游标的数据库中可以极大提高性能(Oracle、SQL Server、DB2、Sybase) +#是否缓存PreparedStatements +#PSCache对支持游标的数据库性能提升巨大,比如说oracle。在mysql下建议关闭 #默认为false poolPreparedStatements=false diff --git a/src/main/resources/jdbc.properties b/src/main/resources/jdbc.properties index db78787..edba00a 100644 --- a/src/main/resources/jdbc.properties +++ b/src/main/resources/jdbc.properties @@ -28,6 +28,22 @@ minIdle=0 maxWaitMillis=-1 +#-------------\u7f13\u5b58\u8bed\u53e5-------------------------------- +#\u662f\u5426\u7f13\u5b58preparedStatement\uff0c\u4e5f\u5c31\u662fPSCache\u3002 +#PSCache\u5bf9\u652f\u6301\u6e38\u6807\u7684\u6570\u636e\u5e93\u6027\u80fd\u63d0\u5347\u5de8\u5927\uff0c\u6bd4\u5982\u8bf4oracle\u3002\u5728mysql\u4e0b\u5efa\u8bae\u5173\u95ed +#\u9ed8\u8ba4\u4e3afalse +poolPreparedStatements=false + +#\u7f13\u5b58PreparedStatements\u7684\u6700\u5927\u4e2a\u6570 +#\u9ed8\u8ba4\u4e3a-1 +#\u6ce8\u610f\uff1apoolPreparedStatements\u4e3atrue\u65f6\uff0c\u8fd9\u4e2a\u53c2\u6570\u624d\u6709\u6548 +maxOpenPreparedStatements=-1 + +#\u7f13\u5b58read-only\u548cauto-commit\u72b6\u6001\u3002\u8bbe\u7f6e\u4e3atrue\u7684\u8bdd\uff0c\u6240\u6709\u8fde\u63a5\u7684\u72b6\u6001\u90fd\u4f1a\u662f\u4e00\u6837\u7684\u3002 +#\u9ed8\u8ba4\u662ftrue +cacheState=true + + #-------------\u8fde\u63a5\u68c0\u67e5\u60c5\u51b5-------------------------------- #\u901a\u8fc7SQL\u67e5\u8be2\u68c0\u6d4b\u8fde\u63a5,\u6ce8\u610f\u5fc5\u987b\u8fd4\u56de\u81f3\u5c11\u4e00\u884c\u8bb0\u5f55 #\u9ed8\u8ba4\u4e3a\u7a7a\u3002\u5373\u4f1a\u8c03\u7528Connection\u7684isValid\u548cisClosed\u8fdb\u884c\u68c0\u6d4b @@ -80,21 +96,6 @@ maxConnLifetimeMillis=-1 logExpiredConnections=true -#-------------\u7f13\u5b58\u8bed\u53e5-------------------------------- -#\u662f\u5426\u7f13\u5b58PreparedStatements\uff0c\u8fd9\u4e2a\u529f\u80fd\u5728\u4e00\u4e9b\u652f\u6301\u6e38\u6807\u7684\u6570\u636e\u5e93\u4e2d\u53ef\u4ee5\u6781\u5927\u63d0\u9ad8\u6027\u80fd\uff08Oracle\u3001SQL Server\u3001DB2\u3001Sybase\uff09 -#\u9ed8\u8ba4\u4e3afalse -poolPreparedStatements=false - -#\u7f13\u5b58PreparedStatements\u7684\u6700\u5927\u4e2a\u6570 -#\u9ed8\u8ba4\u4e3a-1 -#\u6ce8\u610f\uff1apoolPreparedStatements\u4e3atrue\u65f6\uff0c\u8fd9\u4e2a\u53c2\u6570\u624d\u6709\u6548 -maxOpenPreparedStatements=-1 - -#\u7f13\u5b58read-only\u548cauto-commit\u72b6\u6001\u3002\u8bbe\u7f6e\u4e3atrue\u7684\u8bdd\uff0c\u6240\u6709\u8fde\u63a5\u7684\u72b6\u6001\u90fd\u4f1a\u662f\u4e00\u6837\u7684\u3002 -#\u9ed8\u8ba4\u662ftrue -cacheState=true - - #-------------\u4e8b\u52a1\u76f8\u5173\u7684\u5c5e\u6027-------------------------------- #\u8fde\u63a5\u6c60\u521b\u5efa\u7684\u8fde\u63a5\u7684\u9ed8\u8ba4\u7684auto-commit\u72b6\u6001 #\u9ed8\u8ba4\u4e3a\u7a7a\uff0c\u7531\u9a71\u52a8\u51b3\u5b9a