如何通过SpringBoot整合Druid连接池优化数据库分页查询?

2026-04-30 04:341阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1535个文字,预计阅读时间需要7分钟。

如何通过SpringBoot整合Druid连接池优化数据库分页查询?

一、前言:一个老系统随着数据量越来越大,我们明显感觉到部分分页语句执行缓慢,影响了我们的速度。

二、针对老系统的使用方式,我们没有使用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分钟。

如何通过SpringBoot整合Druid连接池优化数据库分页查询?

一、前言:一个老系统随着数据量越来越大,我们明显感觉到部分分页语句执行缓慢,影响了我们的速度。

二、针对老系统的使用方式,我们没有使用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,当然很多插件都是这样做的。

阅读全文