Indexovani - teorie
Miroslav BENES
mbenes na tenez.cz
Středa Říjen 16 12:54:20 CEST 2002
> Kdyz jsme u tech indexu, tak me napada otazka.
> Kdyz mam napr. SQL 'SELECT sl1,sl2,sl3 FROM tbl WHERE sl1='xxx' AND
> sl2='yyy' je lepsi provest indexovani jednotlive(tj. prvni index na
> sl1 a druhy index na sl2) nebo provest jeden slouceny index?
Pokud jsou oba indexy nezavisle, musi se pouzit jeden z nich a
ve vysledku se pak pohybovat sekvencne. Takze uspora bude dost
pochybna.
Na uvedeny priklad je nutne nasadit slozeny index. A to jeste
muze a nemusi byt opouzit podle toho, ajk je vyhodnocen inen
vyraz. Takze se pak muzeme dockat rapidni zmeny casu pokud
podminku zmenime na .. where sl2="yyy" and sl1="xxx".
> Druhy
> pripad je v podstate stejny jen misto operatoru AND dojde k
> nahrazeni operatorem OR.
Pokud se budete dotazovat ... sl1="xxx" OR sl1="yyy", pak tu
neco neni v poradku - bud ten kdo pokladal dotaz se upsal nebo
ten kdo navrhoval tabulku mel den predtim bourlivou ne a malo se
vyspal....
Naopak pokud se bude dotazovat pomoci podminky
sl1="xxx"
a nekdy pomoci
sl1="xxx" and sl2="yyy"
.. pak je ucelne nasadit jen slozeny index sl1+sl2. Pro prvni
typ dotazu pujde pouzit taky a pro druhy bude uplne optimalni.
--------------------------
Miroslav BENES
E-mail : mbenes na tenez.cz
TENEZ Chotebor, a.s
--------------------------
Další informace o konferenci Databases