INDEX'i Oluşturun ve Bırakın Cassandra

Cassandra Dizin Oluştur

'Dizin oluştur' komutu, kullanıcı tarafından belirtilen sütunda bir dizin oluşturur. Dizine eklemek istediğiniz sütuna ilişkin veriler zaten mevcutsa, Cassandra 'dizin oluştur' ifadesinin yürütülmesi sırasında veriler üzerinde dizinler oluşturur.

  • Bir indeks oluşturduktan sonra, Cassandra veri eklendiğinde yeni verileri otomatik olarak indeksler.
  • Birincil anahtar zaten dizine eklendiğinden dizin birincil anahtarda oluşturulamaz.
  • Koleksiyonlardaki dizinler desteklenmiyor Cassandra.
  • Sütunda indeksleme olmadan, Cassandra birincil anahtar olmadığı sürece bu sütunu filtreleyemezsiniz.

Bu nedenle sütunları filtrelemek için Cassandra, indekslerin oluşturulması gerekiyor.

Sözdizimi

Create index IndexName on KeyspaceName.TableName(ColumnName);

Örnek E-posta

İşte indeks oluşturulmadan “dept” sütununun filtrelenmeye çalışıldığı anlık görüntü. Yanıt olarak hata döndürüldü.

Cassandra Dizin Oluştur

Dept sütununda indeksin oluşturulduğu anlık görüntü burada.

Cassandra Dizin Oluştur

Create index DeptIndex on University.Student(dept);

İşte 'dept' sütununun başarıyla filtreleneceği anlık görüntü.

Cassandra Dizin Oluştur

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

Cassandra Düşen Dizin

'Dizin bırak' komutu belirtilen dizini bırakır. Dizin oluşturma sırasında dizin adı verilmediyse dizin adı TabloAdı_SütunAdı_idx olur.

  • Dizin yoksa, IF EXISTS kullanılmadığı sürece no-op döndürecek bir hata döndürecektir.
  • Dizin oluşturma sırasında dizin adıyla birlikte anahtar alanı adını belirtmeniz gerekir, aksi takdirde dizin geçerli anahtar alanından düşürülür.

Sözdizimi

Drop index IF EXISTS KeyspaceName.IndexName

Örnek E-posta

Aşağıda DeptIndex indeksini düşüren, çalıştırılan 'Drop index' komutunun anlık görüntüsü bulunmaktadır.

Cassandra Düşen Dizin

drop index IF EXISTS University.DeptIndex;

Komutun başarıyla yürütülmesinden sonra DeptIndex anahtar alanından çıkarılacaktır. Artık veriler sütun bölümü tarafından filtrelenemez.