[firebase-br] RES: Melhor opção para Select

Marcos R. Weimer marcosweimer em gmail.com
Qui Jan 10 10:42:36 -03 2019


Tambem vou ficar "espiando" esta thread.

Aqui temos o banco com 926 tabelas, 685 procedures, algumas views, internal
funcions... enfim, o banco é grande e complexo.

Então segue MINHAS colocações:
- procedures e views são processadas no servidor do banco e não nas estações
- como a colega Sofia falou, pra manutenção é melhor deixar o que conseguir
no banco, até certo ponto, alterar um procedure ao invés de vários
executaveis pode parecer vantajoso, mas tem de ver que a procedure não pode
estar em uso para ser alterada, se tem várias estações (como acontece em
alguns clientes aqui) tem de fechar o sistema de todos, já se fosse no
executavel bastaria ir substituindo em cada estação (temos recursos de auto
atualização do executavel mas isso não cabe a esta thread).

Tem de ver o que acha mais negócio, todos fechar o sistema para alterar a
procedure ou trocar o exe de todos? Enfim, cada um tem sua preferência.


-=Ma®©oS=-
Marcos R. Weimer
Pessoas quietas têm as mentes mais barulhentas - Stephen Hawking
Viver significa ter algumas alegrias e muito sofrimento - Pepe Mujica





Em qui, 10 de jan de 2019 às 10:33, Sofia Bonato de Moraes - EES <
sbonato em ees.com.br> escreveu:

> Bom dia Carlos,
> Interessante sua colocação.  Aguardarei resposta também.
>
> Mas, é importante também considerar o custo de manutenção da aplicação.
> Afinal, se você diluir seu código, você terá vários locais para dar
> manutenção.
> Dependendo do tamanho da aplicação, isto pode também pode ser um problema.
>
> Abçs
>
> -----Mensagem original-----
> De: lista <lista-bounces em firebase.com.br> Em nome de Carlos Andrade
> Enviada em: quinta-feira, 10 de janeiro de 2019 10:16
> Para: lista em firebase.com.br
> Assunto: [firebase-br] Melhor opção para Select
>
> Olá a todos! Depois de umas aulas sobre administração de banco de dados na
> faculdade, surgiu a curiosidade em pesquisar mais sobre como melhorar a
> performance do Servidor durante as consultas ao Firebird. Minha dúvida é a
> seguinte: Qual é a forma mais apropriada e que utilize menos recursos de
> processamento e memória ao realizar Select na aplicação da máquina cliente?
> O "Select" é melhor ficar na Aplicação, criar uma "View" ou "Stored
> Procedure"? Das situações que tenho em mente e que venho testando, qual
> destas seria a melhor opção?
>
> Opção 1:
> Na Aplicação: " select ID, NOME, CPF from TB_CLIENTES "
> (Neste caso, é verdade que o processamento é feito mais na máquina cliente,
> economizando recursos no Servidor?)
>
> Opção 2:
> Na Aplicação: " select ID, NOME, CPF from VW_CLIENTES where (NOME starting
> with 'CARLOS') "
> No Servidor: VW_CLIENTES  -> "select ID, NOME, DATA_NASC, SEXO, RG, CPF,
> FONE1, FONE2 from TB_CLIENTES"
> (Neste caso, o fato de que a View esteja selecionando 8 campos e na
> Aplicação somente 3 campos e com filtro, haveria processamento
> desnecessário
> no Servidor?)
>
> Opção 3:
> Na Aplicação: " select ID, NOME, CPF from SP_CLIENTES "
> No Servidor: SP_CLIENTES  -> "select ID, NOME, DATA_NASC, SEXO, RG, CPF,
> FONE1, FONE2 from TB_CLIENTES"
> (Neste caso, a SP utiliza mais, menos ou o mesmo recurso de processamento
> que uma View? É mais adequado ou não?)
>
> Existe mais alguma opção que seria mais apropriado que essas três, visando
> claro menos utilização de recurso e processamento do Servidor?
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas:
> http://www.firebase.com.br/pesquisa_lista.html
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas:
> http://www.firebase.com.br/pesquisa_lista.html
>



Mais detalhes sobre a lista de discussão lista