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