2014-06-22 39 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实现,一点点的元组数的常识。