[firebase-br] Mestre... Duvida em SP

Carlos H. Cantu (TeamFB) listas em warmboot.com.br
Seg Out 9 21:15:44 -03 2006


Uma SP nada mais eh do que uma rotina SQL com um ou mais comandos, que
fica pré-compilada no servidor, aguardando ser executada.

Independente se eh select, update, delete... a performance será
praticamente a mesma executando dentro ou fora da procedure.

A vantagem da SP em se tratando de selects eh que muitas vezes vc pode
quebrar um select monstruoso em vários selects menores, o que pode
fazer com que o otimizador trabalhe melhor, e sua pesquisa retorne os
resulstados mais rapidamente.

PS: Por favor não me chame de mestre... eu não fiz mestrado, portanto
não tenho o título, e tb não me considero nenhum "sábio" ;)

[]s
Cantu (Membro do TeamFB - FireBase)
http://www.warmboot.com.br
FireBase - http://www.FireBase.com.br

JPA> mestre você já respondeu uma pergunta referente a SP

JPA> na resposta você disse que SP e Comandos do tipo delete teriam a mesma
JPA> velocidade dentro e fora de SPs(logo deduzi que insert e update tb)

JPA> mas...

JPA> gostaria de saber se select do tipo
JPA> "select codigo_pk, campo_nome, campo_detalhe_1, campo_detalhe_2,
JPA> campo_detalhe_n from tabela where campo_pk = valor"

JPA> ou seja um select sql que tem um where com os campos da chave primaria
JPA> seria mais rapido dentro de uma SPs?

JPA> principalemente se eu adicionar um order by ou um sum juntamente com
JPA> um group by?

JPA> essa SP não seria selecionavél

JPA> outra coisa que tenho em mente é o seguinte...

JPA> SP é para trabalhar com grande volumes de dados...

JPA> se eu utilizar em pesquisas simples do tipo...


JPA>         select
JPA>             codigo,
JPA>             nome,
JPA>             descricao
JPA>         from
JPA>             setores
JPA>         where
JPA>             upper(nome) like upper(:pi_nome || '%')
JPA>         union all
JPA>         select
JPA>             codigo,
JPA>             nome,
JPA>             descricao
JPA>         from
JPA>             setores
JPA>         where
JPA>             upper(nome) not like upper(:pi_nome || '%') and
JPA>             upper(nome) like '%' || upper(:pi_nome || '%')
JPA>         union all
JPA>         select
JPA>             codigo,
JPA>             nome,
JPA>             descricao
JPA>         from
JPA>             setores
JPA>         where
JPA>             upper(nome) not like upper(:pi_nome || '%') and
JPA>             upper(nome) not like '%' || upper(:pi_nome || '%') and
JPA>             upper(descricao) like '%' || upper(:pi_nome || '%')
JPA>         order by
JPA>             2, 1, 3


JPA> tornaria a consulta mais rapida?
JPA> o SQL é grande mais é simples...

JPA> três consultas onde uma não apresenta o que a outra já retornou... e
JPA> tras os registros por nivél de relevancia... tipo
JPA> se você pesquisar por guarana
JPA> ele trata os seguintes registros (ex):
JPA> =============================================
JPA> guaraná em po
JPA> suco de guarana em po
JPA> refrigerante de guarana 1L
JPA> tampa de vaso cor guarana(rss)
JPA> =============================================
JPA> essa SP seria selecionavél no caso...

JPA> no caso de select sql a SPs fazem com que seja mais rapido e deem uma
JPA> resposta mais rapida? em um ambiente que se tem muitas requisições...

JPA> já fiz varios testes... que comprovam isso mas gostaria de ter certeza
JPA> que o grande trunfo foi o firebird.. rss

JPA> se você não puder responder agora mas puder me indicar um fonte de
JPA> informação viavél que trate das otmização feitas pelas SP... já andei
JPA> dando uma olhada e o que na maioria dos casos se falam é que SP é um
JPA> muito bom para ser utilizado com manipulação de muita informação

JPA> aliando isso com muitas requisições é que surgem as minhas duvidas....

JPA> boa sorte com o firebird!!!


JPA> ------------------------------------------------------
JPA> Jeudí Prando Araújo
JPA> j-araujo em vwmsistemas.com.br
JPA> Programador
JPA> VWM Sistemas LTDA
JPA> www.vwmsistemas.com.br

JPA> Trabalho: (27) 3268.2549
JPA> Celular: (27) 9251.3447

JPA> ______________________________________________
JPA> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
JPA> Para editar sua configuração na lista, use o endereço
JPA> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
JPA> Para consultar mensagens antigas: http://firebase.com.br/pesquisa





Mais detalhes sobre a lista de discussão lista