【发布时间】:2014-04-07 16:08:00
【问题描述】:
我正在 Cassandra 中创建帐户数据。最常根据帐户 ID 查询帐户。但是,通常通过登录名查询该帐户。我创建了一个带有主键(account_id 和 login_name)的用户表。因此,我必须在表上“允许过滤”才能通过 login_name 进行查询。
有没有更好的方法来创建不受可过滤表影响的表?
【问题讨论】:
我正在 Cassandra 中创建帐户数据。最常根据帐户 ID 查询帐户。但是,通常通过登录名查询该帐户。我创建了一个带有主键(account_id 和 login_name)的用户表。因此,我必须在表上“允许过滤”才能通过 login_name 进行查询。
有没有更好的方法来创建不受可过滤表影响的表?
【问题讨论】:
一种可能的方法是定义一个新表,该表在主键中具有完全相同的元素,但顺序相反:(login_name, account_id)。您仍然可以将您呈现的表保留为参考表,它存储所有相关的帐户数据,但这个新表将允许您基于login_name 进行更优化的查询。我不确定与“允许过滤”查询相比你会赢多少......但是这种用于查询优化的“数据重复”是 NoSQL DB 中的正常过程。
HTH。
【讨论】: