SELECT name FROM tab1 WHERE id > 5 ALLOW FILTERING; 不会给出错误,因为您正在使用 allow filtering . 如果您的查询需要使用 allow filtering ,然后需要根据查询重新设计表。允许筛选不是查询表的有效方法,特别是在生产环境中。请检查这里 SELECT name FROM tab1 WHERE id > 5; 会给你一个错误 [无效查询]message=“无法执行此查询,因为它可能涉及数据筛选,因此可能具有不可预知的性能。如果要在性能不可预测的情况下执行此查询,请使用“允许筛选” 原因是;cassandra的工作原理与关系数据库不同。表结构不允许您运行任何想要运行的查询,因此您可以根据查询对表进行建模。 请在这里查看where子句的详细信息。如文件所述 The partition key columns support only two operators: = and IN ,在您的情况下,您正在使用 greater ,这会导致出现错误。
1条答案
按热度按时间byqmnocz1#
SELECT name FROM tab1 WHERE id > 5 ALLOW FILTERING;
不会给出错误,因为您正在使用allow filtering
. 如果您的查询需要使用allow filtering
,然后需要根据查询重新设计表。允许筛选不是查询表的有效方法,特别是在生产环境中。请检查这里SELECT name FROM tab1 WHERE id > 5;
会给你一个错误[无效查询]message=“无法执行此查询,因为它可能涉及数据筛选,因此可能具有不可预知的性能。如果要在性能不可预测的情况下执行此查询,请使用“允许筛选”
原因是;cassandra的工作原理与关系数据库不同。表结构不允许您运行任何想要运行的查询,因此您可以根据查询对表进行建模。
请在这里查看where子句的详细信息。如文件所述
The partition key columns support only two operators: = and IN
,在您的情况下,您正在使用greater
,这会导致出现错误。