Tema: Re: Reikia pagalbos su SQL
Autorius: Laimis
Data: 2011-05-11 16:41:49
HyperLink rašė:

> Turiu čia reikalų su tokia pagyvenusia Oracle versija 8.
>
> yra toks selectas:
>
> select prekes.preke, aprasymai.prekes_aprasymas from prekes, aprasymai
> where prekes.tipas=aprasymai.tipas
>
> prekes.tipas ir aprasymai.tipas yra padaryti string(varchar) tipo, na ne
> mano daryta :) DB modifikuoti negaliu.
>
> užklausa vykdoma žiauriai ilgai apie 2 val. Na selectas truputi didesnis
> bet esmė kad stringa šioje vietoje. Be sios vietos select trunka tik 2
> minutes, jei nereikia iskasti aprasymo.
>
> Gal sakau būtų optimaliau su decode daryti:
>
> select decode(prekes.tipas, (select atitinkamas_aprasymo_tipas), (select
> atitinkamas_prekes_prasymas)) from prekes, aprasymai
>
>
> Kaip reikėtų teisingai aprašyti tokį select?

Gal sakau pradžioje susidėk indeksus ant prekes.tipas ir aprasymai.tipas...?

Jei ir su indeksais atsirenki 10 mln. įrašų (DAUG), tai teks galvoti 
kaip tą optimizuoti, smulkinant porcijomis pagal tam tikrus kriterijus.

Jei išgirsiu idiotišką at(si)sakymą (DB modifikuoti negaliu), tai 
avansu, už „optimizavimo būdų paieškas“, gausi virtualų epitetą, kurį 
jau paminėjau. ;-)