Utwórz i upuść INDEX Cassandra
Cassandra Utwórz indeks
Polecenie „Utwórz indeks” tworzy indeks na kolumnie określonej przez użytkownika. Jeśli dane dla kolumny, którą chcesz zaindeksować, już istnieją, Cassandra tworzy indeksy na danych podczas wykonywania instrukcji „utwórz indeks”.
- Po utworzeniu indeksu Cassandra automatycznie indeksuje nowe dane po ich wstawieniu.
- Nie można utworzyć indeksu na kluczu podstawowym, ponieważ klucz podstawowy jest już zaindeksowany.
- Indeksy kolekcji nie są obsługiwane w Cassandra.
- Bez indeksowania w kolumnie, Cassandra nie można filtrować tej kolumny, chyba że jest to klucz podstawowy.
Dlatego do filtrowania kolumn w Cassandra, należy utworzyć indeksy.
Składnia
Create index IndexName on KeyspaceName.TableName(ColumnName);
Przykład
Oto migawka, w której próbowano filtrować kolumnę „dept” bez tworzenia indeksu. W odpowiedzi błąd został zwrócony.
Oto migawka, w której tworzony jest indeks w kolumnie działu.
Create index DeptIndex on University.Student(dept);
Oto migawka, w której kolumna „dept” zostanie pomyślnie przefiltrowana.
select * from University.Student where dept='CS';
Cassandra Upuść indeks
Polecenie „Usuń indeks” usuwa określony indeks. Jeśli nazwa indeksu nie została podana podczas tworzenia indeksu, wówczas nazwą indeksu jest NazwaTabeli_NazwaKolumny_idx.
- Jeśli indeks nie istnieje, zwróci błąd, chyba że zostanie użyte JEŚLI ISTNIEJE, co zwróci brak operacji.
- Podczas tworzenia indeksu należy określić nazwę przestrzeni kluczy wraz z nazwą indeksu, w przeciwnym razie indeks zostanie usunięty z bieżącej przestrzeni kluczy.
Składnia
Drop index IF EXISTS KeyspaceName.IndexName
Przykład
Oto migawka wykonanego polecenia „Upuść indeks”, które usuwa indeks DeptIndex.
drop index IF EXISTS University.DeptIndex;
Po pomyślnym wykonaniu polecenia DeptIndex zostanie usunięty z przestrzeni kluczy. Teraz nie można filtrować danych według działu kolumny.