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