Különbség a B-Tree és a Bitmap között A

Anonim

B-Tree és Bitmap

Az Oracle-ben kétféle index létezik. Ezek a B-Tree és a Bitmap. Ezeket az indexeket használják a teljesítmény-tuningoláshoz, ami gyakorlatilag rekordokat keres és gyors visszakeresést tesz lehetővé. Az indexfunkciók létrehoznak egy bejegyzést az indexelt oszlopokban megjelenő összes értékhez. A B-Tree indexek azok a típusok, amelyeket az OLTP rendszerek használnak, és amelyeket főként alapértelmezés szerint hajtanak végre. A bitmap azonban nagyon tömörített indexformátumként jelenik meg, amelyet a legtöbb esetben az adattárházakban használnak.

A bitképet általában hivatkozási módszernek nevezhetjük, bármennyire is előnyös és tárolható megtakarítás. Ennek felhasználása, amint azt korábban említettük, főként az adattárház környezetében van. Ennek oka az, hogy az adatok frissítése nem olyan gyakori, és az ad hoc lekérdezések sokkal inkább a környezetben vannak. A Bitmap végrehajtásakor az alacsony kardinális adatok előnyben részesítendők. A bitmap az előnyben részesített olyan oszlopelemek számára, amelyek alacsony választási lehetőségekkel rendelkeznek, mint például a nem, amelyeknek csak 2 értéke van, és amelyek előnyben részesülnek. A raktárban lévő statikus adatok szintén jó jellemzők azoknak az adatoknak, amelyeket a Bitmap segítségével kiválóan megvalósítanának. A Bitmap egy másik jellemzője a bitek áramlása, ahol az egyes bitek egy oszlopértékhez vannak hozzárendelve egy táblázat egy sorában.

A B-tree index viszont olyan index, amely nagyon egyedi értékeket tartalmazó oszlopokon van létrehozva. A B-Tree indexen vannak bejegyzések, ahol minden bejegyzésnek van egy keresési kulcs értéke és egy mutató, amely egy adott sorra és értékre utal. Abban az esetben, ha a kiszolgáló egy megfelelő korlátozást talál, amely a kérdéses értékhez kapcsolódik, akkor a mutató be van állítva a sor behívásához.

Az egyik különbség a kettő között az, hogy a B-Fa kevés párhuzamos és nagyfokú barátságossággal rendelkezik, míg a Bitmap esetében az ellenkező. A bitmap nagy duplikációs példányokkal és alacsony szívélyességgel rendelkezik. A Bitmap mutató előnyösnek tekinthető a B-Tree index fölött, hiszen olyan táblázatokkal rendelkezik, amelyek több millió sorral rendelkeznek, mivel a megadott oszlopok alacsony kardinalitással rendelkeznek. A Bitmap indexei ezért jobb teljesítményt nyújtanak, szemben a B-fa indexekkel.

A B-fák rendkívül gyorsnak tűnnek, amikor kis adatkészletet gyűjtenek össze, a legtöbb esetben az adatok nem haladhatják meg az adatbázis mérete 10% -át. Ez a kettő együtt működik, ha sok különálló érték van indexelve. A B-Tree számára is egyedülálló, hogy több index is összeolvadható egy nagyon hatékony program létrehozásához. A bitmap azonban jobban működik, ha alacsonyabb indexelt értékek vannak a maximális hatékonyság érdekében.

A B-fák gyengék, ha nagyobb adatcsatornákat kell keresni, amelyek meghaladják a részhalmazok 10% -át.A Bitmap ezt a kihívást veszi át jó minőségű eredmények elérése érdekében, mivel jobban működik, ha kevés különálló érték van.

Ha sok index van a forgalmas táblában a B-Tree használatával, akkor probléma merülhet fel az indexált adatok beillesztésekor kiszabott kisebb büntetések vagy az indexelt adatok beillesztése és frissítése esetén. Ez nem jelent problémát a Bitmap esetében, mivel nagyon hatékony az értékek beillesztésében és frissítésében, függetlenül attól, hogy mekkora méretű.

Összegzés

A B-Tree és a Bitmap az Oracle -ben használt indexek két típusa: A Bitmap egy indexelési módszer, amely teljesítmény-előnyökkel és tárolási megtakarítással

A B-Tree index olyan index, oszlopok, amelyek nagyon egyedi értékeket tartalmaznak

A B-Tree a legmegfelelőbben működik sok különböző indexelt értékkel

A bittérkép a legjobban jól működik sok különböző indexelt értékkel