2013-05-29 238 views
-1

我有卡桑德拉的表演有點probleme當我使用一個選擇查詢與條件,例如:卡桑德拉CQL要求

SELECT name from Perso where age = 18 

它需要太多的時間,當表趕到1M行,我得到了timedoutexception()

我可以在這種情況下使用分頁嗎?如果是,如何在請求中使用該條件?

+0

什麼是列族(表)模式和您使用的是什麼API? –

回答

0

如果數據中存在低基數(即行數),Cassandra在where子句中很快,並且在基數較高時速度慢。

Cassandra docs建議使用一個列族來存儲數據和一個或多個其他cfs作爲該數據的索引。

因此,例如對於您的問題,您可能有兩個列族 - 一個用於Person,另一個用於將年齡映射到名稱列表的索引列族。您可以使用年齡作爲關鍵字來查詢第二個表格,並將返回的名稱列表發送給您。然後,您可以使用單個返回的名稱在Person列族中查詢您想要的任何數據。

+0

[稍微更新的文檔](http://www.datastax.com/docs/1.0/ddl/indexes) –