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ü.
Dept sütununda indeksin oluşturulduğu anlık görüntü burada.
Create index DeptIndex on University.Student(dept);
İşte 'dept' sütununun başarıyla filtreleneceği anlık görüntü.
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.
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.