我有一个表,我执行一个查询,我希望它返回有序的结果,但它返回一个无序的结果。
下一张table:
CREATE TABLE videogames_by_release(
game_title VARCHAR,
id_game UUID,
descripcion VARCHAR,
min_age INT,
genderSET <VARCHAR>,
release_date DATE,
release_month VARCHAR,
PRIMARY KEY ( release_month , release_date , min_age , game_title )
)WITH CLUSTERING ORDER BY (release_date ASC, min_age ASC, game_title DESC);
字符串
问题是:返回所有最小用户年龄大于或等于18岁的视频游戏的数据。
我做了下一个查询:
SELECT * FROM videogames_by_release WHERE min_age >=18 ALLOW FILTERING;
型
但我得到的结果是无序的。为什么?
结果是下面的图像:
result
为什么从朱尼奥而不是阿布里尔开始?
1条答案
按热度按时间1mrurvl11#
是的,
ALLOW FILTERING
永远不应该被使用。它 * 也许 * 可以与分区键结合使用,例如,字符串
在这种情况下,它只会在分区键中搜索,但是如果你以你正在使用的方式使用它,它会在所有分区和集群中的所有节点上对表进行整个扫描,这是一个不好的做法。
额外好处:您可以使用this free browser-based教程开始学习C* 数据建模,以了解其中的细微差别。