どのようカサンドラストアとインデックス更新へ

どのように格納し、インデックスが更新されますか?

非プライマリ・キー列のデータを格納するのに二次インデックステーブルを濾過しました。たとえば、名前と年齢乗りサイクリストを格納するための主キーテーブルとしてサイクリストの名前を使用すると、年齢別のクエリを許可する、年齢にセカンダリインデックスを有することができます。クエリがデータの連続片原因常にテーブルから取得する必要があるため、主キー列と一致するように、クエリは、アンチパターンです。

 

 

 

行が姓に格納されたテーブルである場合、テーブルは異なるノード上に格納されている複数のパーティションに分散させることができます。特定のクエリに基づいて、姓(例えば姓すべてのサイクリストの)Matthewsテーブルから検索順序行。ただし、クエリの年齢(例えば、すべてのサイクリストが基づいている28)を必要とするクエリをすべてのノードの値を。あなたは、インデックスの年齢を使用することができますが、よりよい解決策は、別のテーブルを作成することであるか、マテリアライズド・ビューは、年齢によってソート。

注:非プライマリソートキーに格納されたデータは、クエリの非主キー列の値は、すべてのパーティションのスキャン特定になりますので、効果なし。通常は禁じられ遅延を読みになり、したがって、許可されていないすべてのパーティションをスキャンします。

セカンダリインデックスは、テーブル内の列として構成されてもよいです。これらのインデックス、および局所的隠れテーブルに格納された各ノードのバックグラウンド・プロセスで構築。クエリが条件と補助隔壁キー欄の条件の両方が含まれている場合、クエリは、単一ノード・パーティションに向けることができるので、クエリは、成功しました。

2番目のインデックスは、キーパーティションの特定のクエリに限定されている場合は、すべてのクエリ・ノードので、クエリは、読み取り遅延を禁止しているだろう。クエリオプションを使用している場合にのみ、それはクエリに、これらのパラメータを使用できますALLOW FILTERINGこのオプションは、本番環境には適用されませんし、トラブルフリーのインデックスを保証することはできません。あなたが知っている必要がありますインデックスを使用するとき

リレーショナルデータベースと同じように、最新のインデックスを維持することは、処理時間がかかりますし、リソースが不要なインデックスを避けるべきです。列を更新する場合、インデックスが更新されます。メモリテーブルは、まだ古い列値(発生した行の反復更新の通常小グループ)がある場合、データベースは廃止されたインデックスのエントリを削除します。それ以外の場合は、圧縮によって古いエントリはクリア。読んで廃止されたが、圧縮前のインデックスエントリクリアランスが表示される場合は、読者のスレッドがそれを無効になります。

 

 

 

 

おすすめ

転載: www.cnblogs.com/yuxiaohao/p/12162062.html