Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.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 1.1:查询多行键,但不查询范围_Cassandra_Rows_Cql - Fatal编程技术网

Cassandra 1.1:查询多行键,但不查询范围

Cassandra 1.1:查询多行键,但不查询范围,cassandra,rows,cql,Cassandra,Rows,Cql,我已经阅读了很多关于在Cassandra中构建反向索引的文档,但是我没有看到任何关于如何使用这些结果获取适用行的内容 我知道行切片,但这不适用于这里。我的问题是:如何根据行键获取大量特定行 在伪SQL中: SELECT * FROM table where Primark_Key IN (2, 32, 76, 1000, 2427) 我想这就是你要找的。获取要获取的密钥列表。值得记住的是,它不是特别有效;虽然通常是唯一的选择。您发布的伪SQL也是有效的CQL查询谢谢。你能详细解释一下为什么这样

我已经阅读了很多关于在Cassandra中构建反向索引的文档,但是我没有看到任何关于如何使用这些结果获取适用行的内容

我知道行切片,但这不适用于这里。我的问题是:如何根据行键获取大量特定行

在伪SQL中:

SELECT * FROM table where Primark_Key IN (2, 32, 76, 1000, 2427)

我想这就是你要找的。获取要获取的密钥列表。值得记住的是,它不是特别有效;虽然通常是唯一的选择。

您发布的伪SQL也是有效的CQL查询

谢谢。你能详细解释一下为什么这样做效率不高吗?当然-基本上是因为每把钥匙可能存储在你戒指上不同的地方,卡桑德拉没有多少办法来优化,基本上一次只能得到一把。这可能很好,特别是当您的multiget最终需要大量的键时,它值得考虑。只是澄清一下,当您执行multiget时,协调器将并行地从不同的节点请求单独的行。当单个节点必须读取多行时,它基本上是顺序的。总的来说,multiget并不具有效率;如果可能的话,应该使用宽行模型(通常需要非规范化)。如果您有很多键并且调用multiget_slice可能会导致TimedOutException。我来晚了,但是有人能告诉我multiget_slice结果是否保持输入顺序吗?我想不会。