Mas como fazer um FBI com um valor que seria uma variavel de bind ?

Eu uso CBO, teria de forçar o Hint mesmo assim ?

On 4/18/06, Anderson Haertel Rodrigues <[EMAIL PROTECTED]>
wrote:
>
> Marcelo,
>
> Uma solução baseada em FBI deve resolver o teu
> problema, certo?
>
> create index nomeindex on tabela
> (nvl(nomecoluna,'null'));
>
> Só que tu terás que modificar a tua Query e forçar
> (através de HINT) o uso do índice criado acima.
>
> Ok?
>
> Anderson Haertel Rodrigues
> Administrador de Banco de Dados - DBA
> Florianópolis/SC
>
>
>
> --- Marcelo Cauduro <[EMAIL PROTECTED]> escreveu:
>
> > Tudo bem, mas eu queria saber uma outra solução...
> > esta não estão muito
> > satisfatórias...
> >
> > On 4/18/06, Rubens Bernardes
> > <[EMAIL PROTECTED]> wrote:
> > >
> > >  Para vc analisar melhor performance vc deveria
> > fazer
> > > um trace entre as opções de query que vc encontrar
> > > eu vejo as seguintes
> > > 1 (versão atual)
> > >
> > > where campo  =  nvl ( variavel, campo)
> > > 2 -- sql dinâmico
> > >
> > >
> > > todas tem vantagens e desvantagens
> > >
> > >
> > >
> > > --- Marcelo Cauduro <[EMAIL PROTECTED]> escreveu:
> > >
> > >
> > > ---------------------------------
> > >
> > > Pessoal, como obter uma performance melhor nos
> > casos
> > > onde você tem a
> > > seguiten situacao
> > >
> > > where campo = nvl ( variavel, campo)
> > >
> > > ou seja, vc pode enviar um valor na variavel, dai
> > vc
> > > vai querer comparar o
> > > campo sempre a esse valor, ja se vc naum passar
> > nada,
> > > ou seja, variavel nula
> > > ele usa o valor do campo mesmo para fazer a
> > > comparacao, desta forma sempre
> > > true.....
> > >
> > > sei de uma maneira para deixar o caso acima melhor
> > ...
> > > ...
> > > where campo = variavel
> > > unionl
> > > ...
> > > where variavel = null
> > >
> > > mas queria outra alternativa.... sem ter que
> > > reescrever a querie... e algo
> > > mais performatico também (se é que existe)
> > >
> > > vi algo interessante no site :
> > >
> >
> http://oracle-docs.dartmouth.edu/dba-docs/articles/cbo.htm
> > >
> > > fala de
> > > "
> > >
> > >
> > > SELECT account_name, trans_date, amount_FROM
> > > transaction_WHERE account_name = NVL(:acc_name,
> > > account_name);
> > >
> > > Rather, you should follow this example:
> > >
> > >
> > > SELECT account_name, trans_date, amount
> > > _FROM  transaction_
> > > WHERE account_name LIKE NVL(:acc_name, '%');
> > > "
> > >
> > > substituir usando o like... mas eu estou usando
> > > valores numericos... e
> > > pelo que parece a dica acima
> > > nao deu certo, alguem tem uma solucao melhor e que
> > > funcione ?
> > >
> > > Valeu.
> > >
> > >
> > > [As partes desta mensagem que não continham texto
> > > foram removidas]
> > >
> > >
> > >
> > >
> > >
> >
>
> --------------------------------------------------------------------------------------------------------------------------
> > > Atenção! As mensagens deste grupo são de acesso
> > > público e de inteira responsabilidade de seus
> > > remetentes.
> > > Acesse:
> > >
> >
> http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
> > >
> > >
> > >
> >
>
> --------------------------------------------------------------------------------------------------------------------------__________________________________________________________________
> > >
> > > Este Grupo recebe o apoio da SQL Magazine -
> > > www.devmedia.com.br/sqlmagazine
> > >
> >
> __________________________________________________________________
> > > O grupo Oracle_br não aceita anexos. Quando
> > oferecer
> > > algum arquivo, tenha o link do mesmo para evitar
> > > trafego(pedidos) desnecessário.
> > >
> > >
> > >
> > > ---------------------------------
> > > Links do Yahoo! Grupos
> > >
> > >    Para visitar o site do seu grupo na web,
> > acesse:
> > > http://br.groups.yahoo.com/group/oracle_br/
> > >
> > >    Para sair deste grupo, envie um e-mail para:
> > > [EMAIL PROTECTED]
> > >
> > >    O uso que você faz do Yahoo! Grupos está
> > sujeito
> > > aos Termos do Serviço do Yahoo!.
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> >
> _______________________________________________________
> > > Yahoo! doce lar. Faça do Yahoo! sua homepage.
> > > http://br.yahoo.com/homepageset.html
> > >
> > >
> > >
> > >
> >
>
> --------------------------------------------------------------------------------------------------------------------------
> > > Atenção! As mensagens deste grupo são de acesso
> > público e de inteira
> > > responsabilidade de seus remetentes.
> > > Acesse:
> >
> http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
> > >
> > >
> >
>
> --------------------------------------------------------------------------------------------------------------------------__________________________________________________________________
> > >
> > > Este Grupo recebe o apoio da SQL Magazine -
> > > www.devmedia.com.br/sqlmagazine
> > >
> >
> __________________________________________________________________
> > > O grupo Oracle_br não aceita anexos. Quando
> > oferecer algum arquivo, tenha
> > > o link do mesmo para evitar trafego(pedidos)
> > desnecessário.
> > >
> > >
> > > ------------------------------
> > > *Links do Yahoo! Grupos*
> > >
> > >    - Para visitar o site do seu grupo na web,
> > acesse:
> > >    http://br.groups.yahoo.com/group/oracle_br/
> > >
> > >    - Para sair deste grupo, envie um e-mail para:
> > >
> >
> [EMAIL PROTECTED]<
> [EMAIL PROTECTED]<http://[EMAIL PROTECTED]/?subject=Unsubscribe>
> >
> > >
> > >    - O uso que você faz do Yahoo! Grupos está
>
> > sujeito aos Termos do
> > >    Serviço do Yahoo!
> > <http://br.yahoo.com/info/utos.html>.
>
> > >
> > >
> >
> >
> > [As partes desta mensagem que não continham texto
> > foram removidas]
> >
> >
> >
> >
>
> --------------------------------------------------------------------------------------------------------------------------
> > Atenção! As mensagens deste grupo são de acesso
> > público e de inteira responsabilidade de seus
> > remetentes.
> > Acesse:
> >
> http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
> >
> >
>
> --------------------------------------------------------------------------------------------------------------------------__________________________________________________________________
> >
> > Este Grupo recebe o apoio da SQL Magazine -
> > www.devmedia.com.br/sqlmagazine
> === message truncated ===
>
>
>
>
>
> _______________________________________________________
> Abra sua conta no Yahoo! Mail: 1GB de espaço, alertas de e-mail no celular
> e anti-spam realmente eficaz.
> http://br.info.mail.yahoo.com/
>
>
>
> --------------------------------------------------------------------------------------------------------------------------
> Atenção! As mensagens deste grupo são de acesso público e de inteira
> responsabilidade de seus remetentes.
> Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
>
> --------------------------------------------------------------------------------------------------------------------------__________________________________________________________________
>
> Este Grupo recebe o apoio da SQL Magazine -
> www.devmedia.com.br/sqlmagazine
> __________________________________________________________________
> O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha
> o link do mesmo para evitar trafego(pedidos) desnecessário.
>
>
> ------------------------------
> *Links do Yahoo! Grupos*
>
>    - Para visitar o site do seu grupo na web, acesse:
>    http://br.groups.yahoo.com/group/oracle_br/
>
>    - Para sair deste grupo, envie um e-mail para:
>    [EMAIL PROTECTED]<[EMAIL PROTECTED]>
>
>    - O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
>    Serviço do Yahoo! <http://br.yahoo.com/info/utos.html>.
>
>


[As partes desta mensagem que não continham texto foram removidas]



--------------------------------------------------------------------------------------------------------------------------
Atenção! As mensagens deste grupo são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--------------------------------------------------------------------------------------------------------------------------__________________________________________________________________

Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine 
__________________________________________________________________
O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o 
link do mesmo para evitar trafego(pedidos) desnecessário. 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/oracle_br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a