2014-06-22 74 views

回答

2

DataStax的麗貝卡米爾斯提供允許在IN語句的鍵的數目的明確限制(Things you should be doing when using Cassandra drivers - 點#22):在一個 上的鍵的數目

...特別限制IN聲明中,最多可以有65535.但實際上, 說你應該只使用IN中的少量密鑰,因爲性能原因,只需使用 。

我認爲限制也適用於您可以指定的元組數量。老實說,我不會試圖超過這一點。如果你發送了一個很大的數字,那麼它的表現不會很好。該CQL documentation on the SELECT CLAUSE警告用戶這一點:

當不使用IN

約時不使用索引的建議適用於使用IN 的WHERE子句。在大多數情況下,不建議在WHERE 子句中使用IN。使用IN會降低性能,因爲通常需要查詢許多節點。例如,在具有30個節點,複製因子爲3和LOCAL_QUORUM的一致性級別的單個本地 數據中心羣集中,單個密鑰查詢將發送到兩個 節點,但如果查詢使用IN條件,被查詢的節點 的數量最可能甚至更高,最多達20個節點,取決於其中密鑰落入令牌範圍中的 。

我只想說,當元組的最大數量可以通是數學的事,你應該通將取決於您的集羣配置,JVM實現,一點點的元組數的常識。