oracle - 如何确定选择查询的最佳提取大小

在JDBC中,默认的获取大小是10,但我想当我有一百万行时,这不是最佳的获取大小。我知道fetch大小太低会降低性能,但如果fetch大小太高也会降低性能。
如何找到最佳尺寸?这对数据库方面有影响吗,它会占用大量内存吗?


最佳答案:

与(几乎)任何事情一样,找到特定参数的最佳大小的方法是用参数的不同值来基准您试图优化的工作负载。在这种情况下,您需要使用不同的fetch大小设置运行代码,评估结果,并选择最佳设置。
在绝大多数情况下,人们选择100或1000的取货尺寸,这是一个合理的最佳设置。在这一点上,值之间的性能差异通常是非常小的——您可以预期,运行之间的大多数性能差异是正常随机变化的结果,而不是由获取大小的变化引起的。如果您试图获得特定配置中特定工作负载的最后一点性能,那么您当然可以进行分析。不过,对大多数人来说,100或1000就足够了。