Indexy & select

Vladimir Naprstek vladimir.naprstek na prodeco.cz
Pátek Září 22 08:51:22 CEST 2000


Zdravim,
mam takovy problem: Mam data roztahana do peti tabulek, pricemz hlavni
tabulka je pomoci klicu spojena se dvemi tabulkami (jedna tabulka druhe
urovne ma definovan foreign key do hlavni tabulky, druha je jen pres
indexy). Spojeni typicky 1:N. Kazda tabulka druhe urovne je spojena s
jednou tabulkou treti urovne. Tyto vazby jsou 1:1 a pouzit foreign key.
Vytvoril jsem si pohled, sdruzujici data z techto tabulek a v nem chci
hledat. Pokud zadam podminku, ktera omezuje data z hlavni tabulky, bezi
dotaz dostatecne rychle. Pokud vsak zadam podminku na data z podrizenych
tabulek (hleda se podle klicu obsazenych v tabulkach druhe urovne),
dotaz trva vice nez 50x pomaleji. Indexy mam na vsechny sloupce, v nichz
muze probihat hledani.

Vse na Oracle 8i.

Kdyz to tak po sobe ctu, asi ten popis nebude nejsrozumetelnejsi, takze:

- hlavni tabulka obsahuje udaje o polozkach v knihovne.
- jedna podrizena tabulka kazdou polozku zaradi do jedne a vice
kategorii. Obsahuje foreign key do hlavni tabulky a kod kategorie, do
niz je polozka zarazena. Polozka knihovny je zarazena alespon do jedne
kategorie. Teto tabulce je podrizena tabulka treti urovne, prirazujici
ke kodu kategorie jeji nazev.
- druha tabulka druhe urovne obsahuje udaje o vypujcovani polozky z
knihovny. Obsahuje cislo polozky (primary key v klavni tabulce) a osobni
cislo zamestnance. k teto tabulce je podrizena tabulka s udaji o
zamestnancich.

Tyto tabulky jsou pospojovany v pohledu obsahujicim data ze vsech peti
tabulek.
Hledani probiha tak, ze zadavam podminku na hlavni tabulku nebo kod
kategorie nebo os. cislo zamestnance (a ty jsou v tabulkach druhe
urovne). A dochazi k uvedenemu jevu.

napada vas odkud situaci zlepsit? V dokumentaci jsem zatim nic kloudneho
nenasel...

--
Vladimir Naprstek
spravce informacnich systemu
VITKOVICE-PRODECO, a.s.     tel. +417 266 31
Masarykova 51               fax. +417 265 44
416 78 Teplice              e-mail vladimir.naprstek na prodeco.cz





Další informace o konferenci Databases