Re: execution des requetes sur une base réseau

Posté par benj1808 le 5/8/2004 12:21:28
Je suis pas expert en SQL sous windev, mais en restant logique , si tu selectionne tous les enregistrements dans ta base (distante) pour ensuite les traiter dans une table ou une variable type source de données ; l'ensemble des données de ta requète transiteront de ta base de données distante à ton poste ce qui vas générer beaucoup de traffic, ce qui ne sera normalement pas le cas si t'a requète est la plus précise possible. Mais je parle dans le cas ou la requète est exécuté sur le poste distant qui doit donc disposer d'un service de BDD actif, et je ne suis pas sur que ce soit effectivement la cas avec hyperfile (par contre avec SQL server, MySQL ou Oracle c'est ce cas de figure).

Sinon, quand tu exécute ta requète sur une BDD, si le fichier est bien optimisé, tu à rarement besoin de parcourir le fichier dans son intégralité, le clés permettant de se positionner rapidement sur les enregistrements souhaités.

Pour résumer, tu à tjs plus interet à executer la recherche la plus pointue possible, sauf à être sur d'avoir énormément d'acces à faire à la BDD sur la même table auquel cas il peut parfois être plus interressant de travailler sur des données chargé une bonne fois en mémoire vive, mais cela reste des cas très particulier à n'utiliser que si l'on est sur de ce que l'on fait. En effet si d'autres personnes travaillent aussi sur cette BDD, alors tu risque de te retrouver avec des données qui ne sont plus à jour et tu devra gérer une synchronisation ce qui risque de consommer plus de ressources.

Donc pour resumer le résumé
il faut (presque) toujours faires les requètes les plus pointues possible.

Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=12&topic_id=1193&post_id=4800