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.
Ecco l'istantanea in cui viene creato l'indice nella colonna reparto.
Create index DeptIndex on University.Student(dept);
Ecco l'istantanea in cui verrร filtrata con successo la colonna "dipartimento".
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.
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.




