Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cassandra 复合键上的CQL2列切片和CQL3 Where等效吗?_Cassandra_Cql_Cql3 - Fatal编程技术网

Cassandra 复合键上的CQL2列切片和CQL3 Where等效吗?

Cassandra 复合键上的CQL2列切片和CQL3 Where等效吗?,cassandra,cql,cql3,Cassandra,Cql,Cql3,我有一些问题困扰着CQL。我一直在尝试使用CQL3中的列切片(我认为这是正确的术语),但是所有关于它的文档似乎都引用了CQL2 例如,我有下表: CREATE TABLE eventindex ( key uuid, column1 int, value uuid, PRIMARY KEY (key, column1) ) WITH COMPACT STORAGE 现在,在CQL2中,我可以执行以下操作: select '1234567890'..'1234567895' fr

我有一些问题困扰着CQL。我一直在尝试使用CQL3中的列切片(我认为这是正确的术语),但是所有关于它的文档似乎都引用了CQL2

例如,我有下表:

CREATE TABLE eventindex (
  key uuid,
  column1 int,
  value uuid,
  PRIMARY KEY (key, column1)
) WITH COMPACT STORAGE
现在,在CQL2中,我可以执行以下操作:

select '1234567890'..'1234567895' from eventindex;
返回所有行范围内的所有列

现在,在CQL3中,我无法做到这一点(至少在cqlsh上不能做到),但我可以做到:

select value from eventindex WHERE column1 > 1234567890 AND column1 <= 1234567895 allow filtering;

从eventindex中选择值,其中column1>1234567890和column1我认为它们本质上是相同的,尽管我从未遇到过“允许过滤”命令。我很惊讶你居然可以在不指定密钥的情况下运行cql。不应该是这样的吗?

select value from eventindex WHERE key = '<key>' 
AND column1 > 1234567890 AND column1 <= 1234567895
从eventindex中选择值,其中键=“”

column1>1234567890和column1存在allow filtering命令,因为您的查询可能会导致大量(或至少不确定)数据被读取,而这些数据不会在查询中使用

select value from eventindex WHERE column1 > 1234567890 AND column1 <= 1234567895;

从eventindex中选择值,其中column1>1234567890和column1是的,实际上,我的键类似于一整天,每一列都是当天的时间戳,所以在几乎所有情况下,我都会使用键。至于“allow filtering”命令,cqlsh告诉我,如果我想运行该查询,就使用它,因为如果没有它,它将拒绝运行,因为查询的性能不可预测。正是这个警告让我停了下来。看看那篇文章,看起来很可能有类似的东西。谢谢你的回答。