如何通过SpringBoot整合Druid连接池优化数据库分页查询?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1535个文字,预计阅读时间需要7分钟。
一、前言:一个老系统随着数据量越来越大,我们明显感觉到部分分页语句执行缓慢,影响了我们的速度。
二、针对老系统的使用方式,我们没有使用pagehelper和mybatis-plus来处理分页,而是在系统内直接使用druid连接池。
一、前言
一个老系统随着数据量越来越大,我们察觉到部分分页语句拖慢了我们的速度。
鉴于老系统的使用方式,不打算使用pagehelper和mybatis-plus来处理,加上系统里使用得是druid连接池,考虑直接使用druid来优化。
二、老代码
老代码是使用得一个mybatis插件进行的分页,分页的核心代码如下:
// 记录统计的 sql String countSql = "select count(0) from (" + sql+ ") tmp_count"; PreparedStatement countStmt = connection.prepareStatement(countSql); BoundSql countBS = new BoundSql(mappedStatement.getConfiguration(), countSql, boundSql.getParameterMappings(), parameterObject); setParameters(countStmt, mappedStatement, countBS,parameterObject);
在原始的 sql 外面包装了一个 count sql,当然很多插件都是这样做的。
本文共计1535个文字,预计阅读时间需要7分钟。
一、前言:一个老系统随着数据量越来越大,我们明显感觉到部分分页语句执行缓慢,影响了我们的速度。
二、针对老系统的使用方式,我们没有使用pagehelper和mybatis-plus来处理分页,而是在系统内直接使用druid连接池。
一、前言
一个老系统随着数据量越来越大,我们察觉到部分分页语句拖慢了我们的速度。
鉴于老系统的使用方式,不打算使用pagehelper和mybatis-plus来处理,加上系统里使用得是druid连接池,考虑直接使用druid来优化。
二、老代码
老代码是使用得一个mybatis插件进行的分页,分页的核心代码如下:
// 记录统计的 sql String countSql = "select count(0) from (" + sql+ ") tmp_count"; PreparedStatement countStmt = connection.prepareStatement(countSql); BoundSql countBS = new BoundSql(mappedStatement.getConfiguration(), countSql, boundSql.getParameterMappings(), parameterObject); setParameters(countStmt, mappedStatement, countBS,parameterObject);
在原始的 sql 外面包装了一个 count sql,当然很多插件都是这样做的。

