Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: indeksy bitmapowe
Forum PHP.pl > Forum > Bazy danych > Oracle
oll3i
mam takie indeksy bitmapowe

CREATE BITMAP INDEX Ind_znizka ON Sprzedaz(znizka);
CREATE BITMAP INDEX Ind_oddzial ON Struktura_Sprzedaż(oddzial);
CREATE BITMAP INDEX Ind_miasto ON Wymiar_Geograficzny(miasto);
CREATE BITMAP INDEX Ind_wojewodztwo ON Wymiar_Geograficzny(wojew);


czy wykorzystanie tych indeksow mogloby wygladac nastepujaca?

select p.prod from produkty p,sprzedaz s
where s.id_prod=p.id_produkt
and s.znika=10

SELECT ss.oddzial,SUM(s.ilosc) FROM struktura_sprzedazy ss,sprzedaz s
GROUP BY ss.oddzial
HAVING SUM(s.ilosc)>1000

SELECT wg.miasto,SUM(s.ilosc) from wymiar_geograficzny wg, Sprzedaz s
where wg.miasto="Warszawa"
GROUP BY wg.miasto

SELECT wg.wojew,SUM(s.ilosc) from wymiar_geograficzny wg, Sprzedaz s
where wg.wojew="mazowieckie"
GROUP BY wg.wojew
fan_pascala
Indeksy bitmapowe dobrze jest zakładać, gdy dana kolumna ma mało możliwych wartości (ilość róznych wartości nie przekracza 1% ilośći rekordów), czyli na kolumny wojewodztwo, oddzial jak najbardziej, na miasto już cięzko powiedzieć, na pole znizka chyba bym juz raczej go nie dał. Indeksy bitmapowe są również bardziej zalecane dla zapytań z duża ilością warunków równościowych.
lukask
Polecam artykuł:

http://www.dbazine.com/oracle/or-articles/jlewis3
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.