Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
SQL - Select
Message
De
12/12/2003 11:17:33
Peter Wagner
Point Informática Ltda.
Limeira, Brésil
 
 
À
12/12/2003 08:05:55
Information générale
Forum:
Visual FoxPro
Catégorie:
Client/serveur
Titre:
Divers
Thread ID:
00858518
Message ID:
00858616
Vues:
13
José,
Não sou um expert em RDBMS mas ai vai...

Vc deve procurar evitar o uso de botões anterior/proximo por alguns motivos.

1) Quando vc trabalha com um RDBMS, este tem que processar todos os dados solicitados por N estações e isto sobrecarrega o servidor quando vc pode ter varios usuários solicitando proximo/anterior simulataneamente, o RDBMS deve dar conta do recado, mas convenhamos que é facil p/ o usuário clicar 10X proximo ou anterior e o servidor tera de fazer 10 pesquisas, multimplique por N usuários fazendo o mesmo e vc tera uma queda da performance do servidor só pq. usa esta forma p/ obter o registro desejado.
Se o usuário tiver de informar o que ele deseja, o servidor ira fazer esta pesquisa 1 unica vez, ou no pior dos casos 2 vezes, se tiver que exibir uma tela intermediaria de filtro onde o usuário escolhe entre varias opções da 1° pesquisa.
Agora multiplique isto pelo numero de usuários fazendo consultas simultaneamente, vc ira desobrir que o Servidor ira apresentar um desempenho bem melhor, sobrando mais capacidade p/ executar outras tarefas basicas como Inclusão / Exclusão / Alteração.

2) Nem todas as consultas são SELECT's simples sobre uma unica tabela, alguns podem e são bem complexos necessitando de varios JOINs, varias clausulas WHERE, ORDER BY, etc... que consome mais tempo de processamento. Imagine cada usuário precionar 10x o botão proximo, muitos podem ter de esperar p/ obter o retorno desejado.

3) O uso destes "Botões" aumenta o trafego da rede.

4) Conectar ao um RDBMS tem alguns custos:
a) dependendo do RDBMS, cada conexão pode custar entre 40KB a 80KB por conexão ao servidor, o SQL Server necessita de aprox. 54KB, multiplique por cada conexão.
b) Tempo extra gasto para fazer cada conexão alem da execução solicitada.
c) Custo extra do servidor em conectar/desconectar (alguns RDBMS tem uma especie de cache p/ otimizar isto, mas o custo extra existe)

Em alguns aplicativos pode ser necessário desconectar, mas vc deve estudar bem cada caso antes de decidir o meio que vai usar.
Não importa o numero de usuários conectados, mas a quantidade de tarefas que os usuários passam ao servidor p/ ser executada e o tempo que cada tarefa leva, pois isto tem um custo muito maior que conectar/desconectar.

Se vc deseja usar botões vc pode, mas pode até acabar "matando" o seu aplicativo C/S de tão lento pela sobrecarga, mas isto depende de n° de usuários, largura de banda da rede, processador, memoria, etc..., só não recomendo... mas a escolha é sua.

Programar com RDBMS é diferente de programar com tabelas nativas do VFP, existem mudanças de conceitos e para melhor na minha opinião.

[], s
Peter

>Olá amigos,
>
>qual o problema em se ter um form, baseado em SQL com os botões de anterior/próximo, e a cada click em um deles se fazer os passos abaixo:
>
>1) conexão com o banco
>2) execução da string sql
>3) desconexão com o banco
>4) atualização dos campos
>
>se eu estou fazendo a conexão, a seleção e desconectando, não teria então vários usuários conectados ao mesmo tempo.
>
>.....
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform