2014-04-04 45 views
1

我在Cassandra中創建帳戶數據。帳戶通常基於帳戶ID進行查詢。但是,通常會通過登錄名查詢帳戶。我用主鍵創建了一個用戶表(account_id和login_name)。因此,我必須在表上「允許過濾」才能通過login_name進行查詢。CQL在列值上選擇

是否有更好的方式來創建沒有可過濾表的影響的表?

回答

3

一種可能的方法是定義一個新表格,該表格在主鍵中具有完全相同的元素,但是格式相反:(login_name, account_id)。您仍然可以保留您提供的表格作爲參考表格,該表格存儲所有相關的帳戶數據,但是此新表格將允許您基於login_name進行更優化的查詢。我不確定與查詢「允許篩選」相比,您會贏得多少勝利......但是,這種用於查詢優化的「數據重複」是NoSQL DB中的正常流程。

HTH。