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.
Ovdje je snimka gdje je indeks kreiran u stupcu dept.
Create index DeptIndex on University.Student(dept);
Ovdje je snimka gdje ฤe biti uspjeลกno filtriran 'dept' stupac.
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.
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.




