Python 如何有效地为查询多个列建模?
我谦虚地来到这里寻求帮助,因为我目前对卡桑德拉模型的某些方面及其含义感到困惑 我知道,理想情况下,我们要筛选的每一列都有一个表。(我遇到一些问题,二级索引没有更新) 让我们举个例子:Python 如何有效地为查询多个列建模?,python,cassandra,model,denormalization,Python,Cassandra,Model,Denormalization,我谦虚地来到这里寻求帮助,因为我目前对卡桑德拉模型的某些方面及其含义感到困惑 我知道,理想情况下,我们要筛选的每一列都有一个表。(我遇到一些问题,二级索引没有更新) 让我们举个例子: class宠物(型号): pet_id=columns.UUID(partition_key=True,default=UUID.uuid4) name=columns.Text() age=colmuns.Text() 类PetByName(模型): pet_id=columns.UUID(默认值=UUID.uu
class宠物(型号):
pet_id=columns.UUID(partition_key=True,default=UUID.uuid4)
name=columns.Text()
age=colmuns.Text()
类PetByName(模型):
pet_id=columns.UUID(默认值=UUID.uuid4)
name=columns.Text(partition\u key=True)
age=colmuns.Text()
等级宠物(型号):
pet_id=columns.UUID(默认值=UUID.uuid4)
name=columns.Text()
age=colmuns.Text(partition\u key=True)
如果我想查询一个属性,那么查询很简单,例如:
PetByName.filter(name=“kitty”)
因此,我的第一个问题是:如果我们想要,例如,查询一只名为“kitty”且年龄为“25岁”的宠物,我们该怎么办
现在,我有一个相当麻烦的实现,我执行两个查询,然后在结果上循环,在pet_id
属性上进行手动交集
但在我看来,应该有一种批处理查询的实现/类型,它将同时运行两个查询,然后基于intersect
之类的操作符合并结果集
欢迎任何帮助、意见、建议
谢谢你的阅读,祝你度过愉快的一天 如果要按名称或年龄查询,表结构应如下所示:
CREATE TABLE pet_by_name (
id uuid,
name text,
age integer,
PRIMARY KEY (name, age)
);
在这种情况下,年龄是聚类的关键。此表仅支持按名称或按名称和年龄进行查询