diff --git a/src/main/java/com/alibaba/druid/pool/PreparedStatementPool.java b/src/main/java/com/alibaba/druid/pool/PreparedStatementPool.java index 36106f5383..ebcf23cd29 100644 --- a/src/main/java/com/alibaba/druid/pool/PreparedStatementPool.java +++ b/src/main/java/com/alibaba/druid/pool/PreparedStatementPool.java @@ -47,7 +47,6 @@ public class PreparedStatementPool { if (holder != null) { holder.incrementReusedCount(); - dataSource.decrementCachedPreparedStatementCount(); } return holder; @@ -59,7 +58,9 @@ public class PreparedStatementPool { if (oldHolder != null) { dataSource.closePreapredStatement(oldHolder); } else { - dataSource.incrementCachedPreparedStatementCount(); + if (holder.getReusedCount() == 0) { + dataSource.incrementCachedPreparedStatementCount(); + } } }