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.

Cassandra Opret indeks

Her er det รธjebliksbillede, hvor indeks oprettes pรฅ afd. kolonne.

Cassandra Opret indeks

Create index DeptIndex on University.Student(dept);

Her er et รธjebliksbillede, hvor det med succes vil blive filtreret 'dept' kolonne.

Cassandra Opret indeks

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.

Cassandra Drop Index

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.

Opsummer dette indlรฆg med: