:) visu pirma jokio skirtumo kokia oracle versija. darom prielaida kad prekiu daug, o aprasymu maza. jeigu ilgai veikia toks trivialus selectas, manau problema yra indekse ant prekes tipo lauko (jeigu toks yra). jeigu indekso nera, reikia sukurti. jeigu yra, rebuildinti. jeigu indekso nera ir kurti negalima, o prekes nera filtruojamos pagal aprasyma, galima selecta parasyti tipo toki select prek.preke, (select aprasymas from aprasymai apr where apr.tipas = prek.tipas) from prekes prek indeksas ant aprasymo tipo irgi padetu... "HyperLink" <tomas.bagdonas@gmail.com> wrote in message news:iqe2pe$dde$1@trimpas.omnitel.net... > 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? >