这是我的架构:
CREATE TABLE test (
x int,
y int,
z int,
PRIMARY KEY (x)
);
如果我运行以下查询:
select * from test where x in (1,1,1);
Cassandra将为我返回3个重复的行 . 似乎Cassandra在查询跟踪中将预准备语句执行到同一分区3次 .
这是Cassandra的默认行为吗?
环境:[cqlsh 5.0.1 | Cassandra 2.1.9 | CQL规范3.2.0 |原生协议v3]
1 回答
是的,这正是CQL
IN
语句的行为方式 . 这个问题引起了与Cassandra的充分混淆,它及时得到了2.2.0的解决 . 如果您在Cassandra 2.2.0中尝试此操作,您将看到IN现在正如您所期望的那样运行 .