Creați și plasați INDEX în Cassandra
Cassandra Creați index
Comanda „Creare index” creează un index pe coloana specificată de utilizator. Dacă datele există deja pentru coloana pe care doriți să o indexați, Cassandra creează indecși asupra datelor în timpul executării instrucțiunii „create index”.
- După crearea unui index, Cassandra indexează automat datele noi atunci când sunt introduse.
- Indexul nu poate fi creat pe cheia primară, deoarece o cheie primară este deja indexată.
- Indexurile colecțiilor nu sunt acceptate în Cassandra.
- Fără indexare pe coloană, Cassandra nu pot filtra acea coloană decât dacă este o cheie primară.
De aceea, pentru filtrarea coloanelor în Cassandra, trebuie creați indecși.
Sintaxă
Create index IndexName on KeyspaceName.TableName(ColumnName);
Exemplu
Iată instantaneul în care s-a încercat să filtreze coloana „dept” fără a crea indexul. Ca răspuns, eroarea a fost returnată.
Aici este instantaneul în care este creat indexul pe coloana dept.
Create index DeptIndex on University.Student(dept);
Iată instantaneul în care va fi filtrată cu succes coloana „dept”.
select * from University.Student where dept='CS';
Cassandra Indicele de picături
Comanda „Drop index” scade indexul specificat. Dacă numele indexului nu a fost dat în timpul creării indexului, atunci numele indexului este TableName_ColumnName_idx.
- Dacă indexul nu există, va returna o eroare, cu excepția cazului în care se folosește IF EXISTS, care va returna no-op.
- În timpul creării indexului, trebuie să specificați numele spațiului de taste cu numele indexului, altfel indexul va fi eliminat din spațiul de taste curent.
Sintaxă
Drop index IF EXISTS KeyspaceName.IndexName
Exemplu
Iată instantaneul comenzii executate „Drop index” care scade indexul DeptIndex.
drop index IF EXISTS University.DeptIndex;
După executarea cu succes a comenzii, DeptIndex va fi eliminat din spațiul de taste. Acum datele nu pot fi filtrate de departamentul de coloană.