The Queen 0 Denunciar post Postado Setembro 11, 2008 ESTOU COM UM QUERY E PARA OTIMIZA-LA RESOLVI USAR O HINT "RULE". ACONTECE QUE NO PL/SQL DEVELOPER NO EXPLAIN PLAN WINDOW QUANTO EU ESCOLHO O HINT RULE ELE ME MOSTRA UMA MARAVILHA, PORÉM QUANDO EU APLICO O HINT RULE (DESTA FORMA : /*+ RULE */) NO SELECT NADA ACONTECE. ESTOU FAZENDO ALGO ERRADO? AQUI SEGUE A QUERY PARA VOCÊS ANALIZAREM CODE SELECT /*+ rule */ CTR.CONTRATO aCONTRATO, (SELECT SUM(ENV.PREMIO_PAGO) FROM BMCTOOLS.TB_GENERALI_ENVIADOS ENV WHERE ENV.CONTRATO = CTR.CONTRATO AND ENV.CANCELADO = 'N') aVALOR_SEGURO FROM BMCTOOLS.CONTRATO CTR WHERE CTR.STATUS IN ('2', '3', '6') AND EXISTS (SELECT 'X' FROM BMCTOOLS.PARCELA PAR WHERE PAR.CONTRATO = CTR.CONTRATO AND PAR.DT_RCB BETWEEN '01-MAY-2008' AND '10-MAY-2008') Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Setembro 11, 2008 Deveria funcionar rule_hint::= Text description of sql_elements38.gif follows Text description of rule_hint The RULE hint explicitly chooses rule-based optimization for a statement block. It also makes the optimizer ignore other hints specified for the statement block. fonte http://download.oracle.com/docs/cd/B10501_...ents7a.htm#8477 As duas execuções foram na mesma base (tipo teste x produção) ? Compartilhar este post Link para o post Compartilhar em outros sites
The Queen 0 Denunciar post Postado Setembro 11, 2008 Foram, o que não muda é o GOAL. Ele escreve GOAL=Htin:=Rule, porém não muda em nada. Deve ter haver com o particionamento da base ou algo assim. Coisas de DBA. Queria algo que resolvesse esta deficiencia do dba. Compartilhar este post Link para o post Compartilhar em outros sites