2017-06-21 7 views
0

は、私たちはMVカサンドラは、ビュー

あなたが "G" を見ることができるように、我々はこのクエリ

UPDATE t SET g=1 WHERE a=10 AND b = 20 

を実行する場合ですどうなり

CREATE MATERIALIZED VIEW t_mv as 
     select a,b,c,d from t where c is not null and d is not null 
     PRIMARY KEY (c,d,a,b); 

次作成

CREATE TABLE t(
     a int, 
     b int, 
     c int, 
     d int, 
     e text, 
     f date, 
     g int, 
     PRIMARY KEY (a,b) 
) 

このスキーマを想定マテリアライズド"t_mv"で除外されていますが、私はcassandraがinternalyをやっていることを知りたいですか?

t_mv、またはカサンドラのための任意のオーバーヘッドは、我々は10、上記のようなマテリアライズド・ビューをMV衝撃性能に除外更新されている場合は、スマート例えばt_mvのための変更と無操作がない

を検出あり?またはmvがない場合と同等の性能

答えて

1

上記の条件でCassandraはマテリアライズドビューに突然変異を送信しません。

ローカルシステムのデモは、以下のテーブル構造で、TRACE出力です。 enter image description here

マテリアライズド・ビューに存在する列の更新中は、TRACEの下に示します: enter image description here

私はこれがあなたの質問に答える願っています。

関連する問題