Chiappa,
valeu a dica ou experimentar o UPDATE:
UPDATE tabela SET campo = trim(campo);

Sobre números armazenados como strings, é outra coisa que pode ser **
péssima ** pra performance,
onde eu dei o exemplo: where TRIM(campo) = "123"
é que tenho um campo denominado numero_ de_ processo que armazena dados tipo
EXEMPO: 123-001/888-9, 000.1.-005/8, 0005/999-10. AP100-80, REC10-80/100,
ou seja não segue nenhum padrão, na verdade é uma string mesmo, apessar que
a maioria dos carecteres são numeros.
Algum problema sobre isso ?

Carlos Geiser


----- Original Message ----- 
From: "jlchiappa" <[EMAIL PROTECTED]>
To: <oracle_br@yahoogrupos.com.br>
Sent: Friday, August 19, 2005 5:30 PM
Subject: Re: RES: [oracle_br] O uso do TRIM( ) faz cair o desempenho


Concordo 100% Salvio, o negócio é mesmo corrigir esses dados. Carlos,
pra corrigir os dados vc terá que os alterar, e alteração de dados
implica em comando UPDATE, vc teria que rodar um comando tipo :

UPDATE tabela SET campo = trim(campo);

Já que vc está com a mão na massa corrigindo estruturas, no seu
exemplo vc mostrou :

where TRIM(campo) = "123"

isso parece indicar que vc tem números armazenados como strings, é
outra coisa que pode ser ** péssima ** pra performance, na hora de
compararar duas coisas que tem a mesma informação mas são de
datatypes diferentes há conversão implícita aí, chance de haver
índices desabilitados na pesquisa, corrija isso também se for o
caso....

[]s

Chiappa

--- Em oracle_br@yahoogrupos.com.br, Salvio Padlipskas <[EMAIL PROTECTED]>
escreveu
> Carlos,
>
> PMJI, como sugestão adicional vc poderia na verdade corrigir as
informações.
>
> Se na migração ocorreu esse tipo de anormalidade, juntamente com
outros
> conteúdos
> de colunas, nada mais justo do que ir corrigindo seus dados, que
alias, é o
> bem
> mais precioso de sua empresa.
>
> Veja que o uso de funções sobre indices faz com que o otimizador
siga
> determinados
> métodos de acesso que podem não ser o mesmo em mudanças de novas
versões do
> database.
>
> Vc terá um "custo" inicial mas o valor agregado a curto prazo é
muito
> compensador.
>
> [ ]'s
> Salvio Padlipskas
>
>
> -----Mensagem original-----
> De: Carlos Geiser [mailto:[EMAIL PROTECTED]
> Enviada em: sexta-feira, 19 de agosto de 2005 16:43
> Para: oracle_br@yahoogrupos.com.br
> Assunto: Re: [oracle_br] O uso do TRIM( ) faz cair o desempenho
>
>
> Gari , Chiappa e demais colegas que possam me ajudar.
>
> um exemplo de como estou usando para fazer as consultas
> select * from tabela where TRIM(campo) = "123"
>
> Estou precisando fazer uso do TRIM( ) porque eu fiz uma migração de
dados de
> tabelas DBF para o Oracle. Como o DBF armazena os espaços em
brancos a
> direita,  nessa migração o Oracle acabou herdando os espaços.
> Como não sei como remover os espaços nas tabelas do Oracle recorri
para o
> uso do TRIM( ), mas percebo uma queda no desempenho.
>
> Agredi a melhor solução seria remover o os espaços, como proceder ?
>
>
> Grato,
> Carlos Geiser.
>
>
>
>
> ----- Original Message ----- 
> From: "Gari Julio Einsfeldt" <[EMAIL PROTECTED]>
> To: <oracle_br@yahoogrupos.com.br>
> Sent: Friday, August 19, 2005 4:11 PM
> Subject: RES: [oracle_br] O uso do TRIM( ) faz cair o desempenho
>
>
> Depende onde tu fores usar.
>
> Se fores usar como predicado numa clausula WHERE, tens que
considerar que os
> indices vão para o espaço (não serão usados). Neste caso procure
usar
> indices baseados em função.
>
> Mas isso é um dos casos, podes explicar um pouco melhor o que
procuras?
>
> Versão de banco também seria interessante!
>
> Abraço
>
>
>
>
> -----Mensagem original-----
> De: oracle_br@yahoogrupos.com.br
[mailto:[EMAIL PROTECTED]
> nome de Carlos Geiser
> Enviada em: sexta-feira, 19 de agosto de 2005 13:33
> Para: oracle_br@yahoogrupos.com.br
> Assunto: [oracle_br] O uso do TRIM( ) faz cair o desempenho
>
>
> Pessoal,
> alguém poderia informar se uso do TRIM( ) faz cair o desempenho no
Oracle ?
>
> Grato,
> Carlos Geiser
>
>
>
>
>
>
______________________________________________________________________
>
> Histórico: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
> Falar com os Moderadores:([EMAIL PROTECTED])
> Dorian Anderson Soutto - Fernanda Damous - Alisson Aguiar
>
______________________________________________________________________
> Links do Yahoo! Grupos
>
>
>
>
>
>
>
>
>
>
>
______________________________________________________________________
>
> Histórico: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
> Falar com os Moderadores:([EMAIL PROTECTED])
> Dorian Anderson Soutto - Fernanda Damous - Alisson Aguiar
>
______________________________________________________________________
>
>
>       Yahoo! Grupos, um serviço oferecido por:
>
>
>
> --------------------------------------------------------------------
--------
> ----
> Links do Yahoo! Grupos
>
>   a.. Para visitar o site do seu grupo na web, acesse:
>   http://br.groups.yahoo.com/group/oracle_br/
>
>   b.. Para sair deste grupo, envie um e-mail para:
>   [EMAIL PROTECTED]
>
>   c.. O uso que você faz do Yahoo! Grupos está sujeito aos Termos
do Serviço
> do Yahoo!.
>
>
>
>
>
>
>
______________________________________________________________________
>
> Histórico: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
> Falar com os Moderadores:([EMAIL PROTECTED])
> Dorian Anderson Soutto - Fernanda Damous - Alisson Aguiar
>
______________________________________________________________________

> Links do Yahoo! Grupos
>
>
>
>
>
>
>
>
>
> [As partes desta mensagem que não continham texto foram removidas]




______________________________________________________________________

Histórico: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
Falar com os Moderadores:([EMAIL PROTECTED])
Dorian Anderson Soutto - Fernanda Damous - Alisson Aguiar
______________________________________________________________________


      Yahoo! Grupos, um serviço oferecido por:



----------------------------------------------------------------------------
----
Links do Yahoo! Grupos

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

  b.. Para sair deste grupo, envie um e-mail para:
  [EMAIL PROTECTED]

  c.. O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço
do Yahoo!.






______________________________________________________________________

Histórico: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
Falar com os Moderadores:([EMAIL PROTECTED])
Dorian Anderson Soutto - Fernanda Damous - Alisson Aguiar 
______________________________________________________________________ 
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