Opret og slip INDEX ind Cassandra
Cassandra Opret indeks
Kommandoen 'Opret indeks' opretter et indeks pรฅ kolonnen angivet af brugeren. Hvis dataene allerede findes for den kolonne, du vil indeksere, Cassandra opretter indekser pรฅ dataene under udfรธrelsen af โโ'create index'-sรฆtningen.
- Efter oprettelse af et indeks, Cassandra indekserer automatisk nye data, nรฅr data indsรฆttes.
- Indekset kan ikke oprettes pรฅ primรฆrnรธgle, da en primรฆrnรธgle allerede er indekseret.
- Indekser pรฅ samlinger understรธttes ikke i Cassandra.
- Uden indeksering pรฅ kolonnen, Cassandra kan ikke filtrere den kolonne, medmindre det er en primรฆr nรธgle.
Det er derfor, for at filtrere kolonner ind Cassandra, skal der oprettes indekser.
Syntaks
Create index IndexName on KeyspaceName.TableName(ColumnName);
Eksempel
Her er det รธjebliksbillede, hvor det blev forsรธgt at filtrere "dept"-kolonnen uden at oprette indekset. Som svar blev fejlen returneret.
Her er det รธjebliksbillede, hvor indeks oprettes pรฅ afd. kolonne.
Create index DeptIndex on University.Student(dept);
Her er et รธjebliksbillede, hvor det med succes vil blive filtreret 'dept' kolonne.
select * from University.Student where dept='CS';
Cassandra Drop Index
Kommandoen 'Drop index' dropper det angivne indeks. Hvis indeksnavnet ikke blev givet under oprettelsen af โโindekset, er indeksnavnet TableName_ColumnName_idx.
- Hvis indekset ikke eksisterer, vil det returnere en fejl, medmindre IF EXISTS bruges, vil det returnere no-op.
- Under oprettelse af indeks skal du angive et nรธgleomrรฅdenavn med indeksnavnet, ellers vil indekset blive slettet fra det aktuelle nรธglerum.
Syntaks
Drop index IF EXISTS KeyspaceName.IndexName
Eksempel
Her er et รธjebliksbillede af den udfรธrte kommando 'Drop index', der dropper indekset DeptIndex.
drop index IF EXISTS University.DeptIndex;
Efter vellykket udfรธrelse af kommandoen vil DeptIndex blive slettet fra tasterummet. Nu kan data ikke filtreres af kolonneafdelingen.




