2013-02-04 49 views
1

如果我在STATUS列上有二級索引,我想獲得STATUS ='processed'的所有密鑰(在一定範圍內)。我怎麼能不讀任何列?我只需要鍵列表,因此只需要訪問索引(每個節點一個磁盤搜索而不是2個)。獲取列等於某個值的關鍵字列表?

回答

0

二級索引不能直接被用戶訪問,因此您需要針對您編制索引的CF運行索引查詢並獲取密鑰。如果您希望只保證一次磁盤尋道,您需要創建自己的索引(即包含所有「已處理」密鑰的CF),以便您可以直接查詢它。

+0

這是一個無賴。創建我自己的索引是不一樣的,因爲它不是分佈式的,它創建了熱點。 你知道嗎,卡桑德拉有關於這個問題嗎?它可以加速很多事情(這不僅僅是一次額外的磁盤尋道,因爲密鑰遍佈整個地方並且有許多不同的狀態,所以可以有更多的磁盤尋道)。 – user1944408

+0

你自己的索引將被分發,沒有任何理由會產生熱點。我認爲你使用的是RandomPartitioner(如果不是你應該的話),在這種情況下,你創建的任何CF將會均勻分佈。 –

+0

我不知道JIRA,因爲我認爲這是設計。 –

相關問題