所以我有以下列家族及其各自的类型:
CREATE TYPE subudt (
id varint,
-- snipped --
);
CREATE TYPE udt (
name text,
-- snipped --
subudt frozen <subudt>
);
CREATE COLUMNFAMILY tablename (
id varint,
-- snipped --
udt frozen <udt>,
PRIMARY KEY (id)
);
如何在name
类型的udt
字段上执行选择查询?我环顾四周,似乎你不能在udt字段上使用CREATE INDEX
,而只能在整个用户定义的类型本身上使用。{/ p>
答案 0 :(得分:2)
理想情况下,您可以根据将要服务的查询对Cassandra中的数据进行建模。查询UDT中的特定字段,首先要将它们组合在一起。
拥有二级索引将取决于它尝试解决的查询类型。性能取决于here解释的不同查询结构。
简而言之,您无法在特定字段上创建索引,理想情况下应该查看不同数据的建模。它绝对可以复制数据以提供不同的查询模式。假设维护一个全新的表来提供基于&#34;名称&#34;的查询。很常见。