Re: [firebase-br] Qual situação vou obter melhor desempenho?

Luiz Carlos luizcrpereira em yahoo.com.br
Qui Jun 30 08:54:26 -03 2005


Só uma pergunta: você utiliza no SQL o SELECT * FROM? se for esse o caso, ganha-se desempenho com a colocação de cada campo necessário de sua tabela no SQL, descrever todos mesmo.....
 
Nesse caso, acho conveniente o CDS.....
 
Espero ter contríbuido T+

-=SchiavoR=- <schiavor em uol.com.br> escreveu:
Ola Eliomar.

Deixa eu esclarer umas coisas quem sabe assim vc pode me ajudar.

Comentários abaixo:

Eliomar escreveu:

>Na minha modesta opnião, e sem muito conhecimento da estrutura
>de seu banco de dados, tem que saber mais para uma opnião concreta.
>
>Usar locate acho que é loucura...
>
>O Resultado do select será grande? Muitos Registros? Pq se for pode matar qualquer
>performace.
> 
>
Não, o resultado do select não sera muito grande por que a tabela 
tem no máximo uns 1000 registros.

>Tem que se montar um select que irá trazer o menor número de registros
>possíveis... ai vc pode a cada vez que precisar executar um select.
> 
>
Infelizmente eu tenho de trazer ou todos e ficar verificando no 
ClientDataSet se o registro existe, desta forma eu faço apenas uma 
conseulta no banco de dados a cada periodo de tempo definido somente 
para atualizar os dados do CDS

>Outra coisa... quais tabelas serão envolvidas... se for somente uma vai um 
>select simples mesmo... se tiver que fazer contas e mais contas e outras tabelas
>ai seria melhor uma SP que faria todo o trabalho no banco e lhe retornaria
>somente o necessário.
> 
>
Apenas uma tabela simples é envolvida no processo, somente um select * 
from tabela, nda mais.

>Não sei se esclareceu alguma coisa e se escureceu.... 
> 
>

Só pra finalizar, preciso fazer isto apenas para veirificar se 
determinado registro existe na tabela e caso exista vou usar apenas 
alguns campos dele. O problema é que o acesso a este banco é muito 
concorrido e acho que fazer um select passando como parametro um codigo 
por exemplo toda vez que precisar consultar a tabela vai fazer com o o 
acesso ao banco fique mais lento ainda, por isso penso que mesmo o 
Locate sendo um processo mais dispendioso o resultado final pode ser 
melhor de que fazer varios selects num banco carregado de tarefas.

>
>Agradecido.
>Eliomar,
>ICQ - 167715482
>MSN - eliomar0910 em hotmail.com
>Soft-Data Softwares Administrativos
>hptt://www.promediconet.com.br
>
>
>
>------------- Segue mensagem original! -------------
>
>De: -=SchiavoR=- 
>Data: Wed, 29 Jun 2005 11:36:27 -0300
>Para: FireBase 
, delphi-br em yahoogrupos.com.br
>Assunto: [firebase-br] Qual situação vou obter melhor desempenho?
>
>Ae galera blz?
>
>Tenho a seguinte situação:
>
>Um pequeno banco Firebird 1.5 local, que deve fazer um processamento de 
>um grande tráfego de informações.
>
>Tenho uma tabela de cadastros que sofre poucas modificações, porém em 
>minha aplicação esta tabela é consultada com muita frequência, algo em 
>torno de umas 10 vezes por segundo.
>
>Levantei duas possibilidades de tratar isto.
>
>1- Fazer uma Stored Procedure que será executada muitas vezes e deixar o 
>trabalho da consulta por conta do banco.
>
>2- Trazer em um ClientDataSet todos os registros da tabela, e fazer um 
>locate várias vezes nele, e a cada intervalo de hora fechar o 
>ClientDataSet e abrir novamente para atualizar os dados locais.
>
>Problemas: Como este banco sofre várias consultas ele também sofre muita 
>inserções, cerca de 1000 por minuto, se utilizar Stored Procedure existe 
>a possibilidade de lentidão nesta consulta, visto que isto não pode 
>ocorrer, uma vez que se for positivo a consulta devo dar uma resposta em 
>menos de 700 milisegundos.
>
>Qual das situações acima seria melhor para este problema? Se alguem 
>tiver uma outra solução por favor sinta-se a vontade para sugerir.
>
>
>Obs: Como este assunto envolve Banco de Dados e Delphi, estou enviando a 
>dúvida para duas listas, se alguem for assinante das duas e receber a 
>mesma mensagem novamente, por favor me desculpe.
>
>[ ]'s Rodrigo Schiavo
>
>
>______________________________________________
>FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
>Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
>
>
>______________________________________________
>FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
>Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
> 
>


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

		
---------------------------------
Yahoo! Acesso Grátis: Internet rápida e grátis. Instale o discador agora!


Mais detalhes sobre a lista de discussão lista