如何解决JdbcTemplate.query() 性能不佳
我将 Java Spring Boot 与 Jersey、Spring JDBC 和 MariaDB 结合使用,但性能非常差。我的目标是从一个表中查询 25 条记录,这需要 2.7 - 3 秒,并且 MariaDB 服务器和应用程序都在同一台主机上运行。
该表有 100 条记录,我筛选的列已编入索引。使用 MySQL Workbench,结果立即显示。
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
final String SQL_SELECT_ALL_TEMPLATES = "SELECT uuid,owner,displayname,template,type,created_at,updated_at FROM templates WHERE owner = ? ORDER BY updated_at DESC,created_at DESC LIMIT ? OFFSET ?;";
List<Template> templates = jdbcTemplate.query(SQL_SELECT_ALL_TEMPLATES,new TemplateMapper(),'05e1e15a-5620-4330-b77f-0ac2fff106c5',25,0);
@Bean
DataSource dataSource() {
DriverManagerDataSource driverManagerDataSource = new DriverManagerDataSource();
driverManagerDataSource.setUrl("jdbc:mysql://127.0.0.1:3306/mydatabase");
driverManagerDataSource.setUsername("root");
driverManagerDataSource.setPassword("");
driverManagerDataSource.setDriverClassName("com.mysql.cj.jdbc.Driver");
return driverManagerDataSource;
}
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jersey</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>at.favre.lib</groupId>
<artifactId>bcrypt</artifactId>
<version>0.9.0</version>
</dependency>
<dependency>
<groupId>com.auth0</groupId>
<artifactId>java-jwt</artifactId>
<version>3.11.0</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.22</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.6</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.test-framework</groupId>
<artifactId>jersey-test-framework-core</artifactId>
<version>2.27</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.test-framework.providers</groupId>
<artifactId>jersey-test-framework-provider-inmemory</artifactId>
<version>2.32</version>
<scope>test</scope>
</dependency>
</dependencies>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。