Skapa och släpp in INDEX Cassandra

Cassandra Skapa index

Kommandot 'Skapa index' skapar ett index på den kolumn som anges av användaren. Om data redan finns för kolumnen du vill indexera, Cassandra skapar index på data under körningen av "create index"-satsen.

  • Efter att ha skapat ett index, Cassandra indexerar nya data automatiskt när data infogas.
  • Indexet kan inte skapas på primärnyckeln eftersom en primärnyckel redan är indexerad.
  • Index på samlingar stöds inte i Cassandra.
  • Utan indexering på kolumnen, Cassandra kan inte filtrera den kolumnen om det inte är en primärnyckel.

Det är därför, för att filtrera in kolumner Cassandra, måste index skapas.

syntax

Create index IndexName on KeyspaceName.TableName(ColumnName);

Exempelvis

Här är ögonblicksbilden där man försökte filtrera kolumnen "avd" utan att skapa indexet. Som svar returnerades felet.

Cassandra Skapa index

Här är ögonblicksbilden där index skapas på avd kolumn.

Cassandra Skapa index

Create index DeptIndex on University.Student(dept);

Här är ögonblicksbilden där den framgångsrikt kommer att filtreras "avd"-kolumnen.

Cassandra Skapa index

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

Cassandra Släpp index

Kommandot 'Släpp index' sänker det angivna indexet. Om indexnamnet inte gavs när indexet skapades, är indexnamnet Tabellnamn_Kolumnnamn_idx.

  • Om indexet inte finns kommer det att returnera ett fel såvida inte IF EXISTS används som returnerar no-op.
  • Under skapande av index måste du ange nyckelutrymmesnamn med indexnamnet, annars kommer index att tas bort från det aktuella tangentutrymmet.

syntax

Drop index IF EXISTS KeyspaceName.IndexName

Exempelvis

Här är ögonblicksbilden av det körda kommandot 'Drop index' som släpper index DeptIndex.

Cassandra Släpp index

drop index IF EXISTS University.DeptIndex;

Efter lyckad exekvering av kommandot kommer DeptIndex att tas bort från tangentutrymmet. Nu kan data inte filtreras av kolumnavdelningen.