2015-02-23 66 views
0

濾波結果我有一個表看起來像這樣:卡桑德拉 - 一個布爾

CREATE TABLE table(
    user text, 
    gender boolean, 
    ..., 
    PRIMARY KEY(user) 
); 

其中gender代表true爲男性和false爲女性。

我想提出3種類型的查詢:

    1. 檢索所有的用戶,不論性別
  • 檢索全部男性
    1. 檢索全部fe男性

我曾經想過加入gender參數的主鍵。這將使查詢2和3變得簡單,並檢索所有用戶,我需要查詢2和3,然後連接結果。

問題是我的用戶表變得非常大,我必須對結果進行分頁。當gender是主鍵的一部分時,這會造成問題,因爲我必須在我的API響應中同時通過pageState,以使用戶能夠查詢更多結果。

有沒有更好的方法來使這種請求使分頁相對簡單直接?

非常感謝

+0

你是什麼意思「我的用戶表變得很大」?有多少對你來說很重要? – 2015-02-23 12:36:37

+0

對不起,我的意思是,當查詢返回相當重要的行數時,我需要爲它分頁(我使用nodejs,所以我想限制內存消耗......) – Spearfisher 2015-02-23 12:41:27

回答

2

有2個問題在一個。

首先查詢一個。如果您需要這3種類型的查詢,然後反規範化並創建3個表格:用戶,male_users和female_users。

二,分頁一。如果您通過查詢表級別列出所有用戶(或男性/女性用戶),則結果將被排序,因爲多個節點將參與闡述結果並且分區被散列。如果您在UI級別討論分頁(僅提取並顯示前100位用戶),則將爲tricky。如果您正在討論驅動程序級別的分頁(所有用戶都通過塊/頁面獲取),那麼可能會更容易一些。