Looge ja sisestage INDEX Cassandra

Cassandra Loo indeks

Kรคsk 'Loo indeks' loob indeksi kasutaja mรครคratud veerus. Kui andmed veeru kohta, mida soovite indekseerida, on juba olemas, Cassandra loob andmetele indeksid lause 'create index' tรคitmise ajal.

  • Pรคrast indeksi loomist Cassandra indekseerib uued andmed andmete sisestamisel automaatselt.
  • Indeksit ei saa primaarvรตtmega luua, kuna primaarvรตti on juba indekseeritud.
  • Kogude indekseid ei toetata Cassandra.
  • Ilma veerus indekseerimata Cassandra ei saa seda veergu filtreerida, kui see pole primaarvรตti.

Sellepรคrast veergude filtreerimiseks Cassandra, tuleb luua indeksid.

Sรผntaks

Create index IndexName on KeyspaceName.TableName(ColumnName);

Nรคide

Siin on hetktรตmmis, kus prooviti veergu "osakond" filtreerida ilma indeksit loomata. Vastuseks tagastati viga.

Cassandra Loo indeks

Siin on hetktรตmmis, kus indeks luuakse osakonna veerus.

Cassandra Loo indeks

Create index DeptIndex on University.Student(dept);

Siin on hetktรตmmis, kus see edukalt filtreeritakse veerus "osakond".

Cassandra Loo indeks

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

Cassandra Kukkumise indeks

Kรคsk 'Drop index' tรผhistab mรครคratud indeksi. Kui indeksi loomisel indeksi nime ei antud, on indeksi nimi Tabelinimi_VeeruNimi_idx.

  • Kui indeksit pole, tagastab see veateate, vรคlja arvatud juhul, kui kasutatakse IF EXISTS, mis tagastab no-op.
  • Indeksi loomisel peate mรครคrama vรตtmeruumi nime koos indeksi nimega, vastasel juhul jรคetakse indeks praegusest vรตtmeruumist vรคlja.

Sรผntaks

Drop index IF EXISTS KeyspaceName.IndexName

Nรคide

Siin on hetktรตmmis kรคivitatud kรคsust "Drop index", mis tรผhistab indeksi DeptIndex.

Cassandra Kukkumise indeks

drop index IF EXISTS University.DeptIndex;

Pรคrast kรคsu edukat tรคitmist eemaldatakse DeptIndex klahviruumist. Nรผรผd ei saa andmeid veeru osakonna jรคrgi filtreerida.

Vรตta see postitus kokku jรคrgmiselt: