我有以下数据模型:-
campaigns {
id int PRIMARY KEY,
scheduletime text,
SchduleStartdate text,
SchduleEndDate text,
enable boolean,
actionFlag boolean,
.... etc
}
在这里,我需要获取基于开始日期和结束日期的数据,而没有ALLOW FILTERING
。
我有更多建议重新设计架构以完全满足需求,但是我无法基于id过滤数据,因为我需要日期中的数据。
有人给我一个很好的建议,可以完全满足这种情况以执行以下查询:-
select * from campaings WHERE startdate='XXX' AND endDate='XXX' ;
//没有允许过滤的内容
答案 0 :(得分:1)
public class Controller : ControllerBase
{
public dynamic ViewBag { get; }
public virtual ViewResult View(object model) { }
// more
}
您可以对表格进行以下查询,
CREATE TABLE campaigns (
SchduleStartdate text,
SchduleEndDate text,
id int,
scheduletime text,
enable boolean,
PRIMARY KEY ((SchduleStartdate, SchduleEndDate),id));
在这里,将SchduleStartdate和SchduleEndDate用作分区键,并将ID用作聚类键,以确保条目唯一。
通过这种方式,如果需要,您可以根据开始,结束和ID进行过滤。
这样做的一个缺点是,您只需要按id进行过滤,而首先要限制分区键就不可能。