Yanıtlar:
Oracle, Bitmap Dizini olarak adlandırılan bir dizin türüne sahiptir ...
Veritabanının, her bir dizin anahtarı için bir satır haritası listesi yerine bir bitmap depoladığı bir veritabanı dizini.
Bir tablonun bir bitmap dizini varsa veya ipucu kullanılıyorsa, normal B-ağacı dizinlerinde bir bitmap erişim planı kullanabilir . Bitmap dizinleri birleştirilebilir, birleştirilebilir ve kesişebilir.
Use-the-index-luke.com adresinde , birden fazla B-Tree dizinini birleştirmenin aşağıdaki uygulamalarını içeren mükemmel bir açıklama vardır :
DB2: DB2 destekleri çoklu endeks üzerinde erişim LUW 9r7 (dinamik bit eşlem kullanarak) ve üzerinde zOS v10 .
MySQL: MySQL sürüm 5.0'dan başlayarak bir dizin birleştirme optimizasyonuna sahiptir .
Oracle Oracle veritabanı, birden çok dizini anında birleştirmek için BITMAP CONVERSIONs kullanır (9i ile tanıtıldı).
PostgreSQL PostgreSQL, 8.1 sürümünden bu yana birden çok dizini birleştirmek için bitmap'leri kullanır .
SQL Server SQL Server, karma algoritması kullanarak V7.0 ile başlayan birden çok dizin ("Index Intersect") kullanabilir .
Ayrıca , ilk cevabın SQL Server'ın dizin kesişimini kullanarak Bitmapped dizinlerine benzer bir şey yaptığını söylediği StackOverflow sorusuna da bakın .
Karmaşık Benzerlik Sorguları için Verimli ve Esnek Bitmap Dizine Ekleme Sorguları , Bitmapped dizinlerini çok boyutlu kelimeyle ilişkilendirirken bulduğum en yakın referanstır. Çok boyutlu dizinlerin niteliklerinden ziyade dizinleri kullanmanın bir yolu gibi görünmektedir.
SQL Server " Dizin kesişimi " yapabilir. Ve MSDN'de .
Demek istediğin bu mu?
Muhtemelen Oracle bitmap dizinleri aradığınız şeydir. Oracle Dizin türleri .
Sanırım sendikaya ve kavşağa izin veriyorlar. Ama itiraf ediyorum, onlara aşina olmadığımı.