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

  • bpx

    őstag

    válasz dellfanboy #794 üzenetére

    az nem parancs, hanem hint

    select /*+ USE_HASH(t1 t2) */ t1.oszlop1, t2.oszlop2, ... from sema1.tabla1 t1, sema2.tabla2 t2
    where t1.id = t2.id;

    Oracle-ben az optimalizálót úgynevezett "hint"-ekkel lehet befolyásolni, hogy milyen végrehajtási tervet készítsen

    a fenti példában mindenképp HASH JOIN-t fog használni a többi lehetőség (NESTED LOOPS, MERGE JOIN) helyett
    az is látszik ugye, hogy kommentben van, nem parancs - ha hülyeséget írsz bele, egyszerűen figyelmen kívül hagyja
    rengeteg ilyen hint van, olyan is, ami dokumentálva sincs

    nem jó gyakorlat eleve ezekkel megírni egy utasítást, alapvetően ezek nélkül lenne jó megoldani mindent
    én Oracle DBA-ként dolgozom, amikor valamelyik cégtől szólnak a fejlesztők, hogy lassú valamelyik SQL, akkor szoktuk hangolni, és hinteket használni ha szükséges

    [ Szerkesztve ]

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