2014-04-04 40 views
2

我使用datastax java驅動程序構建選擇查詢。我使用限制選項設置了限制。但我看到,可以根據文檔設置過Datastax驅動程序限制選項

的setFetchSize(INT大小)

DEFAULT_FETCH_SIZE- 5000另一個屬性。

http://www.datastax.com/drivers/java/2.0/com/datastax/driver/core/QueryOptions.html#DEFAULT_FETCH_SIZE

這是否意味着如果我有一排圍繞10000列,如果我有3個限制的查詢來看,它總是會取默認值凡屬─5000行,然後限制最後3行?

我以爲限制查詢會在默認情況下像這樣使用最後3個值。有人可以澄清這一點?

回答

6

LIMIT套引擎檢索的最大行數setFetchSize設置返回給客戶端的最大行數往返一次。

+0

'fetch size'的文檔是指行,但@Ananth的問題是關於列(即寬行)。那麼你的答案意味着當Cassandra只返回'x' **列**時,分頁也會發生? – Brice

0

在卡桑德拉限制將無法正常工作一樣MySQL或其他RDBMS的限制,

的,當你執行select查詢它將顯示的數據,直到10000列,之後將出現1級的消息,這是出於默認限制類似的東西,讓我們假設你有50000條記錄在數據庫中,您正在執行選擇查詢則只有10000條記錄會出現那麼現在你會在這種情況下,所有50000點的數據將顯示執行查詢select * from table LIMIT 50000 ..

0

我認爲fetchsize和limit之間的區別與其他數據庫如MySQL的JDBC是一樣的。

因此,LIMIT將限制您的查詢結果爲指定範圍內的查詢結果。

獲取大小是在您使用next()滾動查詢ResultSet時由驅動程序一次從數據庫實際檢索的行數。

相關問題