Posted By: vejpuste (Libor Vejpustek) on 'CZprogram'
Title: Re: analyze table...
Date: Thu Sep 25 16:50:15 2003
> Posledne ste se tu tak hezky rozepsali o Oraclu, az me to mile prekvapilo.
> :-)
> Mam dalsi dotaz. Jedna se o to, ze je tu takovej dost trapnej dotaz "select
> neco from nekde order by neco". Tenhle dotaz lezi uvnitr jinyho, kterej si
> tam pridava rownum a bere jen prvnich par radek a znova to sortuje.
> Tenhle dotaz tu funguje nejaky 2 mesice v pohode, ale pred dvema dnama nam
> slezl zoufale vykon. Ta tabulka se docela meni, teda hlavne bobtna
> inserty/selecty sou tak fity fifty.
> Zjisitli sme, ze nam to na ten order by (podle primarniho klice) prestalo
> pouzivat index. To je prvni zajimavy zjisteni. Proste si Oracle rek, ze uz
> ho to s indexama neba. :-)
> Co ted. Tak predevsim, aby aplikace jela, tak sme mu to pouziti indexu
> vnutili
> manualne a uz to jede zase dobre. Ja se chci ale zeptat, k cemu je analyze
> table. Toho se totiz tyka to druhy zajimavy zjisteni. Kdyz totiz tu tabulku
> necham zanalyzovat, tak ty indexy stejne nepouzije. Kdyz udelam analyze
> delete
> statistics, tak zacne index pouzivat a kdyz to pak zase udelam estimate
> statistics i nad celou tabulkou(!), tak ho zas prestane pouzivat. Nevite
> nekdo
> cim to je? Chapu, ze nemuze bejt genialni a vedet vsechno, ze to nekdy selze
> a
> tak, ale takovych tabulek tu mame vicero. Zajima me tedy cim to je, cim se
> to
> da ovlivnit a hlavne cim ho ukecat, aby to nedelal. B-)
Hlavne zalezi na obsahu sloupcu nad nimiz je index. Oracle provadi analyzu
SQL prikazu a podle OPTIMIZER_MODE a obsahu pripadne statistiky ttabulky a
indexu bud index pouzije nebo ne. Pokud je statistika tabulky a indexu
zastarala, tak muze spatne vyhodnotit pouziti nebo nepouziti indexu.
Obecne se da rict, ze pouziti indexu se vyplati v pripade, kdy select
vybere co nejmin radku. Pokud vybere 90% radku a pak k nim musi dohledavat
dalsi data v tabulce, tak je to naprosto zbytecne.
Jako prvni muzes zkusit ruzne ladeni SQL pomoci direktiv se sledovanim co
a jak se pouziva : set autot on. Pak se hlavne podivej na index, jestli je na
rozumnem sloupci, na pocet zaznamu a obsah sloupce.
Samo o sobe odladit nejake dotazy neni az tak slozite, ale chce to
urcitou praxi a hlavne ladit, ladit, ladit.
Libor Vejpustek
Ceska zemedelska univerzita Praha
http://web.czu.cz/~vejpuste/ E-mail : vejpuste@uvt.czu.cz