我有按日期范围返回报告的查询。如果日期范围很大,可能会返回 50k 行。如果日期范围非常小,则可能返回 10 条记录。我发现将 fetch size 设置为 1000,当返回 50k 行时会大大加快执行时间。但是当返回 10 行时将其设置为 1000 会减慢速度并占用过多的内存。这只是一个示例,我有许多查询,它们根据各种条件(运行的作业类型等)返回几行或多行。
理想情况下,如果可以在执行查询之后(但在返回行之前)自动设置它会很好。
有一个更好的方法吗?
我正在使用 org.springframework.jdbc.core.support.JdbcDaoSupport.SimpleJdbcDaoSupport getJdbcTemplate().setFetchSize(1000);