2014-04-04 50 views
1

我在Cassandra中创建帐户数据。帐户通常基于帐户ID进行查询。但是,通常会通过登录名查询帐户。我用主键创建了一个用户表(account_id和login_name)。因此,我必须在表上“允许过滤”才能通过login_name进行查询。CQL在列值上选择

是否有更好的方式来创建没有可过滤表的影响的表?

回答

3

一种可能的方法是定义一个新表格,该表格在主键中具有完全相同的元素,但是格式相反:(login_name, account_id)。您仍然可以保留您提供的表格作为参考表格,该表格存储所有相关的帐户数据,但是此新表格将允许您基于login_name进行更优化的查询。我不确定与查询“允许筛选”相比,您会赢得多少胜利......但是,这种用于查询优化的“数据重复”是NoSQL DB中的正常流程。

HTH。