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.
Här är ögonblicksbilden där index skapas på avd kolumn.
Create index DeptIndex on University.Student(dept);
Här är ögonblicksbilden där den framgångsrikt kommer att filtreras "avd"-kolumnen.
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.
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.