Opprett og slipp INDEX inn Cassandra
Cassandra Lag indeks
Kommandoen 'Create index' oppretter en indeks pรฅ kolonnen spesifisert av brukeren. Hvis dataene allerede finnes for kolonnen du vil indeksere, Cassandra oppretter indekser pรฅ dataene under kjรธringen av 'opprett indeks'-setningen.
- Etter รฅ ha opprettet en indeks, Cassandra indekserer nye data automatisk nรฅr data settes inn.
- Indeksen kan ikke opprettes pรฅ primรฆrnรธkkel, da en primรฆrnรธkkel allerede er indeksert.
- Indekser pรฅ samlinger stรธttes ikke i Cassandra.
- Uten indeksering pรฅ kolonnen, Cassandra kan ikke filtrere den kolonnen med mindre det er en primรฆrnรธkkel.
Det er derfor, for รฅ filtrere kolonner inn Cassandra, mรฅ indekser opprettes.
syntax
Create index IndexName on KeyspaceName.TableName(ColumnName);
Eksempel
Her er รธyeblikksbildet der det ble forsรธkt รฅ filtrere "dept"-kolonnen uten รฅ opprette indeksen. Som svar ble feilen returnert.
Her er รธyeblikksbildet der indeksen er opprettet pรฅ avd kolonne.
Create index DeptIndex on University.Student(dept);
Her er รธyeblikksbildet der det vil bli filtrert "avd"-kolonnen.
select * from University.Student where dept='CS';
Cassandra Drop Index
Kommando 'Slipp indeks' sletter den angitte indeksen. Hvis indeksnavnet ikke ble gitt under opprettelsen av indeksen, er indeksnavnet TableName_ColumnName_idx.
- Hvis indeksen ikke eksisterer, vil den returnere en feil med mindre IF EXISTS brukes som vil returnere no-op.
- Under indeksoppretting mรฅ du spesifisere nรธkkelromsnavnet med indeksnavnet, ellers vil indeksen bli slettet fra gjeldende nรธkkelomrรฅde.
syntax
Drop index IF EXISTS KeyspaceName.IndexName
Eksempel
Her er รธyeblikksbildet av den utfรธrte kommandoen 'Drop index' som slipper indeksen DeptIndex.
drop index IF EXISTS University.DeptIndex;
Etter vellykket utfรธrelse av kommandoen, vil DeptIndex bli slettet fra tasterommet. Nรฅ kan ikke data filtreres av kolonneavdelingen.




