首页 > 解决方案 > 通过 JDBCTemplate 进行简单查询非常慢

问题描述

嘿,我有以下查询,我在我的 spring-boot 应用程序中通过自动连接的 jdbctemplate 执行:

query = "select fromfilepath from filecopyeventlog where copytype = 1 ORDER BY copytimestamp DESC LIMIT 1"

我通过以下方式执行查询:

String result = jdbcTemplate.queryForObject(query, String.class);

因为结果只是定义为 varchar(250) 的单个列。

现在的问题是,这个查询在我的应用程序中执行时非常慢 - 它需要很多分钟......当我在数据库 web 接口 (h2) 上直接执行查询时,我在不到 900 毫秒的时间内得到结果。

有人知道吗?结果如下所示:

/data/internal/s3/sensor-data/semiconductor_2019-07-12T01_17_11Z.mf4.gz

在数据库中超过 500.000 行。

我认为查询很好,结果映射中似乎有些东西?我认为反斜杠可能不好并将它们更改为“_”,但这并没有导致任何变化。

希望有人可以提供帮助:)

标签: spring-bootjdbctemplate

解决方案


推荐阅读