Stvorite i ubacite INDEX Cassandra

Cassandra Stvori indeks

Naredba 'Create index' stvara indeks na stupcu koji odredi korisnik. Ako podaci veฤ‡ postoje za stupac koji ลพelite indeksirati, Cassandra stvara indekse podataka tijekom izvoฤ‘enja naredbe 'create index'.

  • Nakon kreiranja indeksa, Cassandra automatski indeksira nove podatke kada se podaci umetnu.
  • Indeks se ne moลพe stvoriti na primarnom kljuฤu jer je primarni kljuฤ veฤ‡ indeksiran.
  • Indeksi na zbirkama nisu podrลพani u Cassandra.
  • Bez indeksiranja na stupcu, Cassandra ne moลพe filtrirati taj stupac osim ako nije primarni kljuฤ.

Zbog toga, za filtriranje stupaca u Cassandra, potrebno je izraditi indekse.

Sintaksa

Create index IndexName on KeyspaceName.TableName(ColumnName);

Primjer

Ovdje je snimka na kojoj se pokuลกalo filtrirati stupac "dept" bez stvaranja indeksa. Kao odgovor, vraฤ‡ena je pogreลกka.

Cassandra Stvori indeks

Ovdje je snimka gdje je indeks kreiran u stupcu dept.

Cassandra Stvori indeks

Create index DeptIndex on University.Student(dept);

Ovdje je snimka gdje ฤ‡e biti uspjeลกno filtriran 'dept' stupac.

Cassandra Stvori indeks

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

Cassandra Ispustite indeks

Naredba 'Drop index' ispuลกta navedeni indeks. Ako ime indeksa nije dano tijekom stvaranja indeksa, tada je ime indeksa TableName_ColumnName_idx.

  • Ako indeks ne postoji, vratit ฤ‡e pogreลกku osim ako se ne koristi IF EXISTS koji ฤ‡e vratiti no-op.
  • Tijekom stvaranja indeksa, morate navesti naziv prostora kljuฤeva s nazivom indeksa inaฤe ฤ‡e indeks biti ispuลกten iz trenutnog prostora kljuฤeva.

Sintaksa

Drop index IF EXISTS KeyspaceName.IndexName

Primjer

Ovdje je snimka izvrลกene naredbe 'Drop index' koja ispuลกta indeks DeptIndex.

Cassandra Ispustite indeks

drop index IF EXISTS University.DeptIndex;

Nakon uspjeลกnog izvoฤ‘enja naredbe, DeptIndex ฤ‡e biti ispuลกten iz prostora kljuฤeva. Sada se podaci ne mogu filtrirati prema odjelu stupca.

Saลพmite ovu objavu uz: