2009-09-17 37 views

回答

13

SQL LIMIT將限制您的SQL查詢結果爲指定範圍內的結果。您可以使用它顯示第一個X數量的結果,或顯示X - Y結果的範圍。

fetch size是當您滾動查詢ResultSetnext()時,JDBC驅動程序一次從數據庫實際檢索到的行數。例如,您將查詢獲取大小設置爲100.當您檢索第一行時,JDBC驅動程序檢索前100行(如果少於100行滿足查詢,則全部檢索)。當您檢索第二行時,JDBC驅動程序僅從本地內存返回行 - 它不必從數據庫中檢索該行。此功能通過減少數據庫的呼叫數量(通常是網絡傳輸)來提高性能。

所以,即使設置的取大小由JDBC轉換成SQL LIMIT條款,以迫使一個SQL查詢與LIMIT大不同的是,JDBC,你居然還能夠瀏覽所有結果。

+2

可能很好地包含一個鏈接到Javadoc,它也解釋了fetchSize:http://java.sun.com/javase/6/docs/api/java/sql/Statement.html#setFetchSize(int) – 2009-09-17 18:53:33

+0

@馬特你是對的,我會把它添加到答案。 – 2009-09-17 19:07:39

0

SQL LIMIT首先適用於當SQL Server構建結果集作爲查詢的答案時。它可以(並且通常)影響所用的查詢計劃,從而也影響SQL服務器的響應時間。結果集只包含相應限制的行 - 您無法獲取更多。

當結果集的內容傳輸到客戶端時,獲取大小隨之而來。有關詳細信息,請參閱帕斯卡回答。

相關問題