對於模糊的問題感到抱歉,因爲我不知道如何用正確的句子編寫它,如果你們中的任何人希望將它編輯爲更有意義的內容,請繼續。Java MySQL jdbc vs Hibernate實現Select查詢
我其實想問,當我們做這樣的事情:用
Select * from TableWithBillionRecords Limit 1000000
無論結果集:
PreparedStatement.executeQuery()
或休眠:
getCurrentSession().createQuery(query).list()
一旦線路執行,這是否意味着Web服務器實際上是從我的數據庫服務器拉出整個100萬行?或者在界面後面有一些流式邏輯?
感謝您提供的信息,因爲它可以幫助我決定是否應該將其分解爲多個查詢,以塊爲單位選擇塊還是實際上只需選擇一個塊即可。
再次感謝你們。
搜索JDBC分頁 –
Hibernate是JDBC之上的更高級別的ORM。我對Hibernate並不熟悉,但在JDBC中,可以使用setFetchSize()來獲得有效的分塊。 – seand
@seand setFetchSize(Integer.MIN_VALUE)看起來非常有希望,但是可以肯定的是,逐行「流式傳輸」意味着只有單一連接權限?如果它是真的很棒.. –