Hirdetés

Új hozzászólás Aktív témák

  • Apollo17hu

    őstag

    válasz bpx #3443 üzenetére

    PL/SQL Developer 9.x-ről álltunk át a napokban 12-es verzióra. Valószínűleg ez lehet a probléma forrása (talán az üzemeltetés nem hangolta tökéletesre az adatbázis szervert?).

    Plant nem tudok mutatni, a lekérdezés egyébként kb. így néz ki:

    SELECT t1.mezo_1
    ,t1.mezo_2
    FROM (SELECT t.id
    ,t.mezo_1
    ,t.mezo_2
    FROM tabla_1 t
    WHERE feltetel_1
    AND feltetel_2
    ...
    AND feltetel_n) t1
    ,(SELECT t.id
    FROM tabla_2 t
    WHERE feltetel_1
    AND feltetel_2
    ...
    AND feltetel_n) t2
    WHERE t1.id = t2.id

    Ez futott korábban 1 másodpercig, most meg 5-10 perc között. t1 és t2 allekérdezés is 200-300 eredménysort ad vissza (mindkettő dimenziótábla), külön-külön 1 másodpercen belül most is lefutnak. Mindkét táblában az id egyedi, szám formátumú.

    Az a vicces, hogyha t1 allekérdezésben találomra kikommentezek egy szűrőfeltételt (az eredménysorok száma 10-15%-kal nő), akkor az egész lekérdezés ismét 1 másodpercen belül fut.

    Legalapabb hintekkel próbálkoztam (use_hash, use_nl stb.), de igazából nem tudom, mikor mit kell használni. Tapasztalatból csak annyi van meg, hogy nagyméretű ténytáblák kötésénél 90%-ban csökkenti a futási időt a use_hash hint.

    Tudom, hogy ez még mindig kevés, és hogy jobban kellene specifikálni a problémát, de a hét végére valószínűleg kapok segítséget munkatársaktól, tehát mindenképp meg fog oldódni a probléma, csak azt hittem, vannak általánosan alkalmazható hintelések.

Új hozzászólás Aktív témák