mysql--流式查詢1

----------------------------------------------            

                               jvm                     |

                                                          |   

app                                                    |

select * from  ------->    mysql客戶端 |    <-------------     mysql服務器

user                                   buffer       |

                                                          |     

------------------------------------------------

mysql架構中,結果集會緩存到mysql客戶端緩存buf,直到mysql server返回所有結果

當結果集超大時,mysql buffer會OOM內存溢出,客戶端在jvm中

所以使用fetchsize異步流式查詢,將結果分步返回

 

stmt=con.preparedstatement(sql,resultset.TYPE_FORWARD_NOLY,resultset.CONCUR_READ_ONLY)

stmt.setFechSize(Integer.MIN_VALUE) //Integer.MIN_VALUE是作爲一個標識,表示逐行讀取返回

 

stmt.executeQuery()

while(rs.next()){

                  syste,.out.println(rs.getstring(name));

}


 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章