Usa o Sql tuning advisor.

Rodrigo



Em 25 de julho de 2011 10:05, Ana Cássia Japiassu Diniz <
anajapia...@gmail.com> escreveu:

> **
>
>
> Olá Pessoal, bom dia.
>
> A query abaixo está muito lenta, acredito que o problema esteja no uso do
> translate.
>
> O problema é o seguinte... temos um campo para o usuário digitar: rua,
> bairro, cidade, estado e a medida q ele vai digitando, consultas vão sendo
> realizadas,, como a consulta demora um pouco, as requisições vão se
> atropelando (eu acho) e acaba q a aplicação perde a conexão com o banco.
> Segue a query exemplo para vocês darem uma olhada.
>
> Desde já agradeço.
>
> Ana Cássia
>
> SELECT logradouro.TLO_TX,
> logradouro.LOG_NO,
> bairro.BAI_NO,
> localidade.LOC_NO,
> logradouro.UFE_SG,
> logradouro.CEP
> FROM LOG_LOGRADOURO logradouro,
> LOG_BAIRRO bairro,
> LOG_LOCALIDADE localidade
> WHERE bairro.BAI_NU = logradouro.BAI_NU_INI
> AND localidade.LOC_NU = logradouro.LOC_NU
> AND (
> lower(translate(logradouro.LOG_NO,
> 'ÁÃÀÄÂáãàäâÉÈËÊéèëêÍÌÎÏìîïíÓÒÔÕÖóòôõöÚÙÜÛúûüùÇçÑñ',
> 'AAAAAaaaaaEEEEeeeeIIIIiiiiOOOOOoooooUUUUuuuuCcNn')) LIKE
> translate('%pinheiros%',
> 'ÁÃÀÄÂáãàäâÉÈËÊéèëêÍÌÎÏìîïíÓÒÔÕÖóòôõöÚÙÜÛúûüùÇçÑñ',
> 'AAAAAaaaaaEEEEeeeeIIIIiiiiOOOOOoooooUUUUuuuuCcNn')
> OR
> lower(translate(logradouro.TLO_TX || ' ' || logradouro.LOG_NO,
> 'ÁÃÀÄÂáãàäâÉÈËÊéèëêÍÌÎÏìîïíÓÒÔÕÖóòôõöÚÙÜÛúûüùÇçÑñ',
> 'AAAAAaaaaaEEEEeeeeIIIIiiiiOOOOOoooooUUUUuuuuCcNn')) LIKE
> translate('%pinheiros%',
> 'ÁÃÀÄÂáãàäâÉÈËÊéèëêÍÌÎÏìîïíÓÒÔÕÖóòôõöÚÙÜÛúûüùÇçÑñ',
> 'AAAAAaaaaaEEEEeeeeIIIIiiiiOOOOOoooooUUUUuuuuCcNn')
> )
> AND bairro.BAI_NU = bairro.BAI_NU
> AND lower(translate(bairro.BAI_NO,
> 'ÁÃÀÄÂáãàäâÉÈËÊéèëêÍÌÎÏìîïíÓÒÔÕÖóòôõöÚÙÜÛúûüùÇçÑñ',
> 'AAAAAaaaaaEEEEeeeeIIIIiiiiOOOOOoooooUUUUuuuuCcNn')) LIKE
> translate('%jardim%', 'ÁÃÀÄÂáãàäâÉÈËÊéèëêÍÌÎÏìîïíÓÒÔÕÖóòôõöÚÙÜÛúûüùÇçÑñ',
> 'AAAAAaaaaaEEEEeeeeIIIIiiiiOOOOOoooooUUUUuuuuCcNn')
> AND localidade.LOC_NU = logradouro.LOC_NU
> AND lower(translate(localidade.LOC_NO,
> 'ÁÃÀÄÂáãàäâÉÈËÊéèëêÍÌÎÏìîïíÓÒÔÕÖóòôõöÚÙÜÛúûüùÇçÑñ',
> 'AAAAAaaaaaEEEEeeeeIIIIiiiiOOOOOoooooUUUUuuuuCcNn')) LIKE translate('%são
> paulo%', 'ÁÃÀÄÂáãàäâÉÈËÊéèëêÍÌÎÏìîïíÓÒÔÕÖóòôõöÚÙÜÛúûüùÇçÑñ',
> 'AAAAAaaaaaEEEEeeeeIIIIiiiiOOOOOoooooUUUUuuuuCcNn')
> AND logradouro.UFE_SG = 'SP';
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 


   At.


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



------------------------------------

--------------------------------------------------------------------------------------------------------------------------
>Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira 
>responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--------------------------------------------------------------------------------------------------------------------------
>Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » 
>Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
>http://www.oraclebr.com.br/  
------------------------------------------------------------------------------------------------------------------------
 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:
    oracle_br-unsubscr...@yahoogrupos.com.br

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


Responder a