select * from user where CustID =0 allow filtering;
在卡桑德拉你need采用基于查询的建模方法。解决这个问题的最好方法是使用一个表专门设计用于服务该查询.
CREATE TABLE users_by_custid (
id text,
CustID int,
UpdateDate date,
DateOfBirth date static,
Gender text static,
Address text static,
City text static,
State text static,
Zip text static,
Email text static,
Phone text static,
OverallAssets double,
PRIMARY KEY (cust_id,id,UpdateDate)
);
这会起作用,它会很好地分发,并且不需要伴随的全表扫描ALLOW FILTERING
.
是的,我正在做cqlsh --connect-timeout=100000000 --request-timeout=10000000000
我无法充分警告你不要这样做。这些超时默认值的存在是有原因的。它们可以保护您的集群/节点不会因执行不良的查询而翻倒。当您遇到问题并想增加查询超时时,请仔细查看您的查询,看看是否有更好的方法来构建它。