cassandra中的列过滤

时间:2013-12-30 18:47:12

标签: nosql cassandra

您好我想知道是否有一些了解Cassandra的人可以帮助我。现在我正在使用调试器调查Cassandra的读取路径,但由于某种原因无法找到针对查询过滤行的列的特定位置。

我发出了两个问题:

“select * from tabl where name1 ='rowkey8888';”

“从tabl中选择name9,其中name1 ='rowkey999211';”

令我困惑的是,它们都被认为是SliceFromReadCommand命令和 与命令关联的SliceQueryFilter对象对于两者都是相同的:[reversed = false,slices = [[,]],count = 10000,toGroup = 0]

我的问题是,任何人都可以向我解释这种行为的原因,因为我在查询中给出了一个列名(在上面的例子中是name9)时的印象 该命令将是一个SliceByNamesReadCommand,指定的列将位于QueryFilter切片数组中。此外,任何人都可以指出这个过滤的位置,因为我找不到它?

1 个答案:

答案 0 :(得分:1)

对于reasons related to TTL handling,C *实际上必须查询分区的“切片”,即使您为其指定了特定名称。

CollationController是开始代码潜水的好地方。