gpt4 book ai didi

java - 有没有办法在 JdbcTemplate 上智能设置获取大小?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:28:17 26 4
gpt4 key购买 nike

我有一个按日期范围返返回告的查询。如果日期范围很大,可能会返回 50k 行。如果日期范围很小,可以返回 10 条记录。我发现将提取大小设置为 1000,当返回 50k 行时,会大大加快执行时间。但是当返回 10 行时将其设置为 1000 会减慢速度并耗尽过多内存。这只是一个示例,我有许多查询会根据各种条件(作业运行类型等)返回几行或多行。

理想情况下,如果这可以在执行查询后(但在返回行之前)自动设置,那就太好了。

有更好的方法吗?

我正在使用 org.springframework.jdbc.core.support.JdbcDaoSupport.SimpleJdbcDaoSupportgetJdbcTemplate().setFetchSize(1000);

最佳答案

这是默认的获取大小。显然没有最佳值,因为正如您所描述的那样,它是使用的内存和数据库往返之间的权衡(默认值 100 似乎对我来说已经足够了)。

无论如何,您可以使用 ResultSet.setFetchSize() 为每个结果集单独设置获取大小.

关于java - 有没有办法在 JdbcTemplate 上智能设置获取大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18383448/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com