2. Füüsiline disain
2. Füüsiline disain
2. Füüsiline disain
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
TTÜ: Andmebaasi füüsiline <strong>disain</strong> (2012)<br />
© Erki Eessaar<br />
<strong>2.</strong><strong>2.</strong>3.15 Joini indeks<br />
Gulutzan (2003) andmetel võimaldavad mitmed andmebaasisüsteemid luua<br />
indeksi üle mitme tabeli .<br />
Indeks<br />
Tabel1<br />
Indeks<br />
Tabel2<br />
A<br />
Rida 1.1<br />
B<br />
Rida <strong>2.</strong>1<br />
B<br />
Rida 1.2<br />
C<br />
Rida <strong>2.</strong>2<br />
C<br />
Rida 1.3<br />
F<br />
Rida <strong>2.</strong>3<br />
A<br />
B<br />
B<br />
C<br />
C<br />
F<br />
Joini indeks<br />
Rida 1.1<br />
Rida 1.2<br />
Rida 1.3<br />
Rida <strong>2.</strong>1<br />
Rida <strong>2.</strong>2<br />
Rida <strong>2.</strong>3<br />
Joonis 11Joini indeks.<br />
Kui luua joini indeks korraga ühe tabeli primaarvõtmele ja teise tabeli<br />
välisvõtmele, siis on lihtne teha ühendamist kasutavaid päringuid:<br />
SELECT *<br />
FROM Tabel1, Tabel2<br />
WHERE Tabel1.veerg1=Tabel<strong>2.</strong>veerg1<br />
Päringu täitmise programm peab käima läbi indeksi ja iga võtmeväärtuse<br />
korral kontrollima, kas ka järgnev võtmeväärtus on sama. Kui jah, siis see<br />
tähendab et vastava võtmeväärtusega rida tuleb tulemusse tuua.<br />
Sellise indeksi kasutamine aeglustaks päringut, mis toimub vaid ühe tabeli<br />
põhjal. Siinkohale rõhutame, et andmebaasisüsteemi asi on otsustada, kas ja<br />
millises olukorras indeksit kasutada. Seega heatasemeline<br />
andmebaasisüsteem ei kasuta indeksit päringu q täitmiseks, kui selle<br />
kasutamine võiks q täitmist aeglustada võrreldes indeksi mittekasutamisega.<br />
Selleks, et andmebaasisüsteem saaks langetada õige otsuse indeksi<br />
kasutamise/mittekasutamise kohta, peab süsteemi käsutuses olema<br />
võimalikult täpne andmebaasi statistika.<br />
36