ApsaraDB for SelectDB içinde bitmap dizinleri, veritabanı motorunun her satırı taramak yerine bit düzeyinde işlemler kullanarak satırları filtrelemesini sağlayarak sorgu performansını artırır. Sorgu çalıştırma sırasında okunan veri hacmini azaltmak için eşitlik ve aralık filtre koşullarında sıkça kullanılan sütunlarda bitmap dizinlerini kullanın.
Bitmap dizini oluşturma
CREATE INDEX [IF NOT EXISTS] <index_name> ON <table_name> (<column>) USING BITMAP;
| Parametre | Açıklama |
|---|---|
index_name |
Bitmap dizininin adı. |
table_name |
Bitmap dizininin oluşturulacağı tablonun adı. |
column |
Bitmap dizininin oluşturulacağı sütunun adı. |
Dizin bilgilerini görüntüleme
Bir tablodaki dizinleri listelemek için aşağıdaki komutu çalıştırın:
SHOW INDEX FROM [db_name.]<table_name>;
Bitmap dizini silme
DROP INDEX [IF EXISTS] <index_name> ON [db_name.]<table_name>;
Sınırlamalar
Kapsam
Bitmap dizinleri yalnızca tek bir sütuna uygulanır. Çok sütunlu bitmap dizinleri desteklenmez.
Bitmap dizinleri yalnızca Segment V2 biçiminde depolanan verilerde etkili olur. Bir tabloda bitmap dizini oluşturduğunuzda tablonun depolama biçimi otomatik olarak Segment V2'ye dönüştürülür.
Desteklenen tablo modelleri ve sütunlar
| Tablo modeli | Desteklenen sütunlar |
|---|---|
| Duplicate Key modeli | Tüm sütunlar |
| Unique Key modeli | Tüm sütunlar |
| Aggregate Key modeli | Yalnızca anahtar sütunlar |
Desteklenen veri türleri
| Kategori | Veri türleri |
|---|---|
| Sayısal | TINYINT, SMALLINT, INT, BIGINT, LARGEINT, DECIMAL |
| Dize | CHAR, VARCHAR |
| Tarih ve saat | DATE, DATETIME |
| Diğer | BOOL |