fetchsize of JDBC

最近使用oracle数据库,写了一条很简单的SQL。取了20,000条数据发现需要60秒左右。

相同的SQL 在PL SQL上面也需要17秒左右的时间。

项目ORM使用的是mybatis 当时就认为是java驱动不太好。PL SQL 应该用的不是java所以会快点。

后来突然想到前几天同事跟我说的fetch size。就抱着试一下的心里把fetch size设置成5000。数据不到一秒就可以返回了。速度差别非常大。

后来就查询了一下fetch size的信息。

oracle fetch 默认是10,如果取1000条记录,就需要100个网络连接。(好像是取100次的意思)

mysql 和 sql server,默认是全部取出来。所以没有设置的时候,大数据量感觉会比oracle快很多。

mybatis默认的好像是100,但是我没有找到确切的配置文件。

你可能感兴趣的:(JDBC)