在 JDBC 中,默认获取大小为 10,但我想当我有一百万行时,这不是最佳获取大小。据我所知,获取大小太低会降低性能,但如果获取大小太高也会降低性能。
我怎样才能找到最佳尺寸?这对数据库端有影响吗?它会占用大量内存吗?
如果您的行很大,请记住,您一次获取的所有行都必须存储在驱动程序内部缓冲区的 Java 堆中。在 12c 中,Oracle 有 VARCHAR(32k) 列,如果有 50 个列并且它们已满,则每行有 1,600,000 个字符。 Java中每个字符占2个字节。因此每行最多可占用 3.2MB。如果您要获取 100 x 100 行,那么您将需要 320MB 的堆来存储数据,而这仅适用于一条语句。因此,您应该只为获取相当小的行(数据大小较小)的查询增加行预取大小。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)