Crea e rilascia INDEX in Cassandra

Cassandra Crea indice

Il comando 'Crea indice' crea un indice sulla colonna specificata dall'utente. Se i dati esistono giร  per la colonna che desideri indicizzare, Cassandra crea indici sui dati durante l'esecuzione dell'istruzione 'crea indice'.

  • Dopo aver creato un indice, Cassandra indicizza automaticamente i nuovi dati quando i dati vengono inseriti.
  • Non รจ possibile creare l'indice sulla chiave primaria poichรฉ una chiave primaria รจ giร  indicizzata.
  • Gli indici sulle raccolte non sono supportati in Cassandra.
  • Senza indicizzare la colonna, Cassandra non รจ possibile filtrare quella colonna a meno che non sia una chiave primaria.

Ecco perchรฉ, per filtrare le colonne Cassandra, รจ necessario creare gli indici.

Sintassi

Create index IndexName on KeyspaceName.TableName(ColumnName);

Esempio

Ecco lo snapshot in cui รจ stato provato a filtrare la colonna "dept" senza creare l'indice. In risposta, รจ stato restituito l'errore.

Cassandra Crea indice

Ecco l'istantanea in cui viene creato l'indice nella colonna reparto.

Cassandra Crea indice

Create index DeptIndex on University.Student(dept);

Ecco l'istantanea in cui verrร  filtrata con successo la colonna "dipartimento".

Cassandra Crea indice

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

Cassandra Rilascia indice

Il comando 'Elimina indice' elimina l'indice specificato. Se il nome dell'indice non รจ stato fornito durante la creazione dell'indice, il nome dell'indice sarร  TableName_ColumnName_idx.

  • Se l'indice non esiste, restituirร  un errore a meno che non venga utilizzato IF EXISTS che restituirร  no-op.
  • Durante la creazione dell'indice, รจ necessario specificare il nome dello spazio delle chiavi insieme al nome dell'indice, altrimenti l'indice verrร  eliminato dallo spazio delle chiavi corrente.

Sintassi

Drop index IF EXISTS KeyspaceName.IndexName

Esempio

Ecco l'istantanea del comando eseguito "Drop index" che elimina l'indice DeptIndex.

Cassandra Rilascia indice

drop index IF EXISTS University.DeptIndex;

Dopo l'esecuzione corretta del comando, DeptIndex verrร  eliminato dallo spazio delle chiavi. Ora i dati non possono essere filtrati dalla colonna reparto.

Riassumi questo post con: