Entendi.. Obrigada a todos. 2009/1/30 jlchiappa <jlchia...@yahoo.com.br>
> Colega, se a sua pesquisa é NNN% (ou seja, tudo que COMEÇA com NNN), > como está no exemplo, absolutamente NÂO FAZ SENTIDO o instr, a > pesquisa seria (em supondo-se que vc quer também pesquisa case > insensitive com UPPER) : > > WHERE upper(colunadatabela) LIKE 'NNN%' > > e aí, claro, o UPPER na coluna indexada (tal como qquer função) > desabilita índices b*tree normais, vc teria que ter um índice b*tree > de função criado COM o upper, ok ? Via de regra context indexes só > fazem sentido se a sua pesquisa é %NNN% (ie, vc NÂO SABE o começo da > chave, quer procurar por qquer posição), aí sim a busca direta via > índice não funcionaria, ele teria que fazer um table scan ou um index > scan, num caso desse é que pode ser indicado o context index. > > []s > > Chiappa > --- Em oracle_br@yahoogrupos.com.br <oracle_br%40yahoogrupos.com.br>, > Mária Cristina Silva > <mariancrist...@...> escreveu > > > > > Bom dia! > > Senhores estou precisando realizar uma busca por nome, e tentei > utilizar as > > formas abaixo, mas não tive muito sucesso, usando o like ele demora > muito a > > me dá o resultado pois as tabelas possuem mais de 4 milhoes de > registros.. > > > > tentei dessa forma : > > > > ( instr(upper(reservanom0_.NOME_EMPRESA),upper('GAMA & CIA')) > 0) e > > dessa > > > > * > > > > and* CONTAINS(processovo0_.NOME_EMPRESA, 'ACADEMIA GENESIS%',1) > 0 > usando o > > Index mas usando o index ele não traz em algumas buscas... > > > > Alguém sabe se existe uma forma melhor de fazer essa busca? > > > > Agradeço atneção de todos. > > * > > > > > > * > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > -- Abraços, Mária Cristina Cel: 031-8883-5543 E-mail: mariancrist...@gmail.com MSN: mcristinasil...@hotmail.com -- "O começo é a parte mais importante do trabalho." - Platão [As partes desta mensagem que não continham texto foram removidas]