有没有一种方法可以过滤大于一列小于另一列的内容,或者适当地建模?
create table foo (id int, low int, high int, primary key (id, low, high));
这些查询工作:
select * from foo;
select * from foo where id = 1 and low < 0;
但此查询不:
select * from foo where id = 1 and low < 0 and high >10;
结果是:
invalidrequest:来自服务器的错误:code=2200[invalid query]message=“clustering column”high”cannot be restricted(前一列“low”受非eq关系限制)
我现在已经求助于允许过滤。它在一个分区上,并且对远远超出预期场景的跟踪在可接受的范围内执行,但是我想知道是否有更好的方法对表进行建模,以便所有人都获得信息而不进行筛选?
1条答案
按热度按时间rkkpypqq1#
在我看来,您可以做的唯一一件事就是在对象的物化视图中进行过滤
high
数值如下:然后可以执行以下查询:
在应用程序中,必须在低值和高值之间进行交集。
另外,请记住,您可以对集群列进行排序,从而对低值和高值进行排序。