Vytvořte a vložte INDEX Cassandra

Cassandra Vytvořit index

Příkaz 'Create index' vytvoří index na sloupci určeném uživatelem. Pokud již data pro sloupec, který chcete indexovat, existují, Cassandra vytvoří indexy na datech během provádění příkazu 'vytvořit index'.

  • Po vytvoření indexu Cassandra po vložení dat automaticky indexuje nová data.
  • Index nelze vytvořit na primárním klíči, protože primární klíč je již indexován.
  • Indexy ve sbírkách nejsou podporovány Cassandra.
  • Bez indexování na sloupci, Cassandra nelze tento sloupec filtrovat, pokud se nejedná o primární klíč.

Proto pro filtrování sloupců v Cassandra, je třeba vytvořit indexy.

Syntax

Create index IndexName on KeyspaceName.TableName(ColumnName);

Příklad

Zde je snímek, kde byl pokus o filtrování sloupce „oddělení“ bez vytvoření indexu. V reakci na to byla chyba vrácena.

Cassandra Vytvořit index

Zde je snímek, kde je vytvořen index na sloupci oddělení.

Cassandra Vytvořit index

Create index DeptIndex on University.Student(dept);

Zde je snímek, kde bude úspěšně filtrován sloupec 'odd.

Cassandra Vytvořit index

select * from University.Student where dept='CS';

Cassandra Index poklesu

Příkaz 'Drop index' zruší zadaný index. Pokud nebyl při vytváření indexu zadán název indexu, je název indexu název_tabulky_název_sloupce_idx.

  • Pokud index neexistuje, vrátí chybu, pokud není použito IF EXISTS, které vrátí no-op.
  • Během vytváření indexu musíte zadat název prostoru klíčů s názvem indexu, jinak bude index z aktuálního prostoru klíčů odstraněn.

Syntax

Drop index IF EXISTS KeyspaceName.IndexName

Příklad

Zde je snímek provedeného příkazu 'Drop index', který zahodí index DeptIndex.

Cassandra Index poklesu

drop index IF EXISTS University.DeptIndex;

Po úspěšném provedení příkazu bude DeptIndex odstraněn z prostoru klíčů. Nyní nelze data filtrovat podle oddělení sloupců.