Msql fetchSize问题
Mysql默认是不支持fetchSize的,像Oracle和db2等商业数据库则支持,那么这么在jdbc连接mysql是使用这个参数呢,满足一下三个条件:
- 首先数据库版本要高于5.0.2,官方是这么说的
useCursorFetch |
If connected to MySQL > 5.0.2, and setFetchSize() > 0 on a statement, should that statement use cursor-based fetching to retrieve rows? |
false |
- 再就是设置了fetchSize,例如
PreparedStatement pstmt = conn.prepareStatement(sql );
- 最最重要的是在数据库连接后加上,
useCursorFetch=true,例如 url=jdbc:mysql://192.168.1.3:3306/cuishou3?useCursorFetch=true
完成上面的设置后,fetchSize就生效了,每次拉取fetchSize调数据,而不是默认的把所有数据一次拉取出来