Re: Hfiltre vs HExecuteRequete

Posté par R&B le 3/3/2005 17:06:08
Bonjour,

Je vais supposer que vous travaillez avec HyperFile.

Les requêtes SQL ont un plus grand domaine d'application que les filtres. En effet, il vous est possible d'y assurer des calculs, jointures, etc.

En revanche elles ont jusque là un inconvenient de taille : le résultat n'est disponibles tant que non seulement la requete n'a été exécutée (vérification syntaxique et exécution sur la base) mais, et surtout, tant qu'il n'a pas complètement alimenté la source de données qui l'héberge. Il s'agit d'un problème de threads.
Ainsi si l'exécution seule peut être rapide, à condition que les recherches ai lieu exclusivment sur des clés, c'est la lecture du résultat qui peut être longue. Il existe des mécanismes d'optimisation qui améliore les performances mais la lecture du resultat est incompressible... et doit être attendue.

Une solution consiste alors à ne récuperer que le sctrictre minimum d'information : les identifiants automatiques correspondants aux enregistrement.
Il faut alors par exemple reconstruire par programmation les relation des colonnes des tables fichiers en affectant les rubriques affichée (REQ.ID,FIC.RUB....)

Concernant les filtres, ils sont terriblement efficace pour les sélections bornées... avec éventuellement une condition simple en sus. Mais ils souffrent du manque de calcul avant parcours et de la limitation à un seul fichier.

Par conséquent il n'y pas pas de solution toute faite... Sinon nulle doute que vous disposeriez alors d'un assistant pour la programmation de la sélection de vos données.

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