Luo ja pudota INDEX Cassandra

Cassandra Luo hakemisto

Komento "Create index" luo indeksin käyttäjän määrittelemään sarakkeeseen. Jos indeksoitavan sarakkeen tiedot ovat jo olemassa, Cassandra luo indeksejä dataan "create index" -käskyn suorittamisen aikana.

  • Indeksin luomisen jälkeen Cassandra indeksoi uudet tiedot automaattisesti, kun tietoja lisätään.
  • Indeksiä ei voida luoda ensisijaiselle avaimelle, koska ensisijainen avain on jo indeksoitu.
  • Kokoelmien indeksejä ei tueta Cassandra.
  • Ilman indeksointia sarakkeeseen, Cassandra ei voi suodattaa kyseistä saraketta, ellei se ole ensisijainen avain.

Siksi sarakkeiden suodattamiseen Cassandra, indeksit on luotava.

Syntaksi

Create index IndexName on KeyspaceName.TableName(ColumnName);

esimerkki

Tässä on tilannekuva, jossa yritettiin suodattaa "dept" -saraketta luomatta hakemistoa. Vastauksena virhe palautettiin.

Cassandra Luo hakemisto

Tässä on tilannekuva, jossa indeksi luodaan osastosarakkeeseen.

Cassandra Luo hakemisto

Create index DeptIndex on University.Student(dept);

Tässä on tilannekuva, jossa se suodatetaan onnistuneesti "osasto"-sarakkeessa.

Cassandra Luo hakemisto

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

Cassandra Pudota indeksi

Komento "Drop index" pudottaa määritetyn indeksin. Jos indeksin nimeä ei annettu indeksin luomisen aikana, indeksin nimi on TaulukonNimi_SarakkeenNimi_idx.

  • Jos indeksiä ei ole, se palauttaa virheilmoituksen, ellei IF EXISTS -toimintoa käytetä, joka palauttaa no-op.
  • Indeksin luomisen aikana sinun on määritettävä avaintilan nimi indeksin nimellä, muuten indeksi pudotetaan nykyisestä avainavaruudesta.

Syntaksi

Drop index IF EXISTS KeyspaceName.IndexName

esimerkki

Tässä on tilannekuva suoritetusta komennosta "Drop index", joka pudottaa indeksin DeptIndexin.

Cassandra Pudota indeksi

drop index IF EXISTS University.DeptIndex;

Onnistuneen komennon suorittamisen jälkeen DeptIndex pudotetaan näppäinavaruudesta. Nyt tietoja ei voi suodattaa sarakeosaston mukaan.