2015-02-24 74 views
4

如何爲CQL查詢獲得執行計劃(或者類似這樣的計劃)? 我未能找到任何有關CQL查詢優化/執行的合併文檔。Apache Cassandra CQL查詢解釋計劃

比如我想了解,是否有像查詢的執行任何區別:作爲最傳統的RDBMS做

select some_column from SOME_TABLE where 
pkField='val1' 
and timestampField='date' 
allow filtering; 

select some_column from SOME_TABLE where 
pkField='val1' 
and timestampField<='date' 
and timestampField>='date' 
allow filtering; 

回答

6

卡桑德拉不使用複雜的查詢優化。由於缺少表格之間的關係,索引使用更具確定性。

當涉及到執行時,行分佈在各個節點之間,可能還有多個節點內的sstables。對於相同的查詢,實際的讀取路徑將隨時間而不同。

要獲取有關查詢執行的更多細節,請在您的cqlsh中使用TRACING ON;

+0

謝謝你的回答,斯蒂芬 不幸的是,在這種情況下跟蹤沒有幫助:它顯示羣集節點和東西上的mem/sstables訪問,但沒有告訴行過濾... – nukie 2015-02-24 18:50:27

+0

@nukie,您的評論不是或不再有效。 https://www.datastax.com/dev/blog/tracing-in-cassandra-1-2,下去,你會看到掃描信息,過濾的行,使用的過濾器。 – 2017-11-08 12:23:27