Colega, isso TOTALMENTE DEPENDE da versão EXATA de banco que vc tem E
dos detalhes da estratégia que vc vai adotar, mas como ambos os pontos
vc só pra variar não nos dá, o que podemos dizer é :

 a) SE for banco 10g, vc tem a opção de usar characterset CI (case
insensitive), em termos de performance a penalidade deve ser muito
leve, apenas uma pequena porção de CPU a mais sendo usada para a
conversão de characterset, já que certamente não deve ser CI o default
usado pelo seu cliente

 b) em qquer versão de banco que suporte, índice de contexto ** não **
faz muito sentido, creio, pois ele serve mais para pesquisas com
operadores especiais tipo CONTAINS, imagino que vc adotaria como
estratégia uma função "comum" como UPPER nos seus SQLs, aí o índice a
ser adotada deve ser um COM A FUNÇÃO ESCOLHIDA (função UPPER no meu
exemplo), seria um índice b*tree DE FUNÇÃO portanto. A interferência
de índices b*tree é primeiro que eles tem que ser atualizados a cada
DML (o que PODE ser significativo se a sua máquina já estiver
"atolada", quaisquer processos extras induzem a mais concorrência) , e
segundo o fato de que outros SQLs podem talvez vir a adotar esse
índice em detrimento de outros, o que PODE causar um plano diferente

 c) as opções de case-insentive que se adotava antigamente a nível de
banco , antes do 10g com CI e antes do índice de função (ie, trigger
 que alimentava uma coluna não-acessível ao usuário que continha o
UPPER da coluna normal), tem impacto diretamente relativo e
proporcional à quantidade de colunas a manter 

 d) a possibilidade de se ter o CI feito pela aplicação (propriedade
Case-restriction num item dum bloco Forms, por exemplo, para
aplicaçãoes desenvolvidas em Oracle Forms, mas diversas outras
tools/linguagens tem opções do tipo) é a que traz o menor impacto no
banco em si, o impacto pass a ser na camada extra-banco do aplicativo

[]s

 Chiappa
--- Em oracle_br@yahoogrupos.com.br, "gibajr" <gib...@...> escreveu
>
> Colegas,
> 
> Preciso desabilitar o case-sensitive, ou criar indice CONTEXT, em 
> campos de algumas tabelas na minha base. A dúvida é se isso terá 
> impacto no desempenho das consultas realizadas nesta tabela.
> 
> Grato,
> 
> Gilberto
>


Responder a