gpt4 book ai didi

cassandra - 是否可以使用cql连续查询集合?

转载 作者:行者123 更新时间:2023-12-04 03:38:57 26 4
gpt4 key购买 nike

假设您连续有电影和类别列表,即

create table movie(
uuid timeuuid,
name text,
category list<text>
primary key (uuid)
);

insert into movie (uuid,name,category) values(now(), 'my movie', ['romance','comedy']);
insert into movie (uuid,name,category) values(now(), 'other movie', ['action','comedy']);

是否可以有效地执行以下操作:
select * from movie where category='comedy'
select * from movie where category='comedy' and category='action'

此用例是针对我们的MySQL数据库的最常见查询。

最佳答案

As of cassandra 2.1,是的:

create table cinema.movie(
id timeuuid,
name text,
category list<text>,
primary key (id)
);

CREATE index ON cinema.movie (category);
INSERT INTO cinema.movie (id, name, category) VALUES (now(), 'my movie', ['romance','comedy']);
SELECT * FROM cinema.movie WHERE category CONTAINS 'romance';


uuid | category | name
--------------------------------------+------------------------+----------
b9e0d7f0-995f-11e3-b11c-c5d4ddc8930a | ['romance', 'comed`y'] | my movie

(1 rows)

P.S.您的查询中有错误,类别的声明后,您的create table语句中缺少 ,,并且您无法在UUID上使用 now()函数,而是在寻找TIMEUUID类型。

切记,当使用这些集合时,性能不会很出色(对于定量而言,这是多么好),为这种事情创建一个单独的表可能会更好。

关于cassandra - 是否可以使用cql连续查询集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21873959/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com