Indeks multidimensi dalam database

10

Database mana yang menggunakan indeks multidimensi nyata? Apakah oracle pernah menggunakan beberapa indeks untuk mendapatkan data dari tabel, atau apakah akan selalu mengambil satu yang tampaknya memiliki selektivitas tertinggi? Bagaimana dengan dbms lain?

paweloque
sumber

Jawaban:

9

Oracle memiliki tipe indeks yang disebut Indeks Bitmap yang digambarkan sebagai ...

Indeks basis data tempat database menyimpan bitmap untuk setiap kunci indeks alih-alih daftar baris-baris.

Jika sebuah tabel memiliki indeks bitmap atau sebuah petunjuk digunakan, ia dapat menggunakan rencana akses bitmap pada indeks B-tree biasa . Indeks bitmap dapat digabungkan, disatukan, dan disilang.

Ada penjelasan yang sangat baik di use-the-index-luke.com di mana itu mencakup implementasi berikut dari menggabungkan beberapa indeks B-Tree:

DB2: DB2 mendukung akses indeks berganda pada LUW 9r7 (menggunakan bitmap dinamis) dan pada zOS v10 .

MySQL: MySQL memiliki optimasi gabungan indeks dimulai dengan rilis 5.0.

Oracle Basis data Oracle menggunakan BITMAP CONVERSIONs untuk menggabungkan beberapa indeks dengan cepat (diperkenalkan dengan 9i).

PostgreSQL PostgreSQL menggunakan bitmap untuk menggabungkan beberapa indeks sejak versi 8.1.

SQL Server SQL Server dapat menggunakan beberapa indeks ("Indeks Intersect") dimulai dengan V7.0 menggunakan algoritma hash.

Lihat juga pertanyaan StackOverflow ini di mana jawaban pertama mengatakan bahwa SQL Server melakukan sesuatu yang mirip dengan indeks Bitmap menggunakan persimpangan indeks.

Pengindeksan Bitmap yang Efisien dan Fleksibel untuk Kueri Kesamaan Kompleks adalah referensi terdekat yang saya temukan ketika mengaitkan indeks Bitmap dengan kata multidimensi. Multidimensi tampaknya lebih merupakan cara untuk menggunakan indeks daripada atribut dari mereka.

Leigh Riffel
sumber
6

SQL Server dapat melakukan " persimpangan Indeks ". Dan di MSDN .

Apakah ini yang Anda maksud?

gbn
sumber
persis! Apakah ada sesuatu yang sebanding di oracle?
paweloque
1
er ... tidak tahu. Saya seorang monyet MS.
gbn
5

Mungkin indeks bitmap Oracle adalah yang Anda cari. Jenis Indeks Oracle .

Saya pikir mereka mengizinkan persatuan dan persimpangan. Tetapi saya akui, bahwa saya tidak terbiasa dengan mereka.

bernd_k
sumber