有一個數據庫,其中包含約200萬條記錄。我從我的java代碼中運行查詢,就像這樣「select * from table」。它會從結果集中的數據庫中提取完整的數據。或不 。如果是,那麼它將如何工作,我想學習在這個檢索工作,從數據庫中檢索一百萬條記錄
請讓我知道,我已經學會了一個地方,它會從數據庫中檢索完整的數據,並將從那裏存儲臨時存儲將顯示在輸出中。很好。 或者是否有與J2C相關的東西
有一個數據庫,其中包含約200萬條記錄。我從我的java代碼中運行查詢,就像這樣「select * from table」。它會從結果集中的數據庫中提取完整的數據。或不 。如果是,那麼它將如何工作,我想學習在這個檢索工作,從數據庫中檢索一百萬條記錄
請讓我知道,我已經學會了一個地方,它會從數據庫中檢索完整的數據,並將從那裏存儲臨時存儲將顯示在輸出中。很好。 或者是否有與J2C相關的東西
它會從結果數據庫中讀取完整的數據集
沒有一個準確的答案。它總是依賴於數據庫驅動程序。結果集是一個接口,其實現由特定的數據庫驅動程序完成。結果集實現可能有有自己的優化,其中對於較小的一組數據,在大型數據集,其緩存(或某種默認分頁機制)的地方,所有內容都被提取。所以請參閱數據庫驅動程序文檔。
有一個標準(至少javadoc這樣說)出路,以防止從數據庫中獲取大量數據。爲JDBC語句設置相應的讀取大小,如下所示java.sql.Statement.setFetchSize()
。
作爲Java文檔
爲JDBC驅動程序提供提示以行,應該是 從數據庫中取出,需要更多行時的數目。指定的行數 隻影響使用此語句創建的結果集。 如果指定的值爲零,則提示將被忽略。默認值 值爲零。
希望這會有所幫助。
這裏幾乎是同一個問題。 How to handle huge result sets from database
你問是否會獲取完整的數據集。它會。因此,建議不要獲取整個數據庫。下面是一些關於它的已保存java - mysql - select query outfile - where is file getting saved
如果您只使用數據庫檢索大部分表格,那麼使用數據庫可能不是最佳選擇。當您只需要數據庫中的一小部分數據時,數據庫的效果最佳。否則,使用文件或更簡單的持久性存儲可能會更好。從數據庫獲取2百萬個條目將比從文件獲得多個時間。 –