28 septembre 2006

Quiz - connaissez-vous la fonction "HStatCalcule" ?

Il s'agit probablement d'une des fonctions WLangage les plus méconnue du moteur Hyper File, et pourtant elle est primordiale ! Dernier exemple en date, une requête récupère 350 enregistrements, dans une table en comportant 400 000. Les 350 enregistrements sont rapidement récupérés (fonction "ConstruitTableFichier" pour leur visualisation), pourtant la requête ne rend pas la main et la table reste bloquée avec le sablier. Renseignement pris sur l'application et son activité, il s'avère que d'importants mouvements ont été faits sur ce fichier.

Solution dans pareil cas : appeler la fonction "HStatCalcule", pour obtenir un chargement immédiat et complet des données de la requête.

Voici la description de la fonction donnée dans l'aide :

Ces statistiques sont utilisées lors de la pose d'un filtre, la création d'une requête ou encore la création d'une vue sur le fichier. Le moteur Hyper File analyse la condition de sélection et s'appuie ensuite sur ces statistiques pour déterminer les rubriques les plus discriminantes qui permettront d'optimiser les parcours des fichiers.
Les statistiques permettent d'avoir des informations sur le contenu du fichier au moment de leur calcul. Aussi, plus il y a de modifications du fichier après ce calcul et moins ces statistiques sont fidèles au contenu du fichier. Plus le fichier contient d'enregistrements et moins la modification d'un enregistrement a d'impact sur le reflet du fichier que les statistiques renvoient.

Un autre point important sur le sujet "performances", concerne la densité des index. Un fichier de stockage peut être utilisé pour de l'insertion permanente de données, mais peut avoir peu de consultations. A l'inverse, un fichier peut être consulté en permanence, tout en étant que rarement complété. Et bien en fonction de l'usage du fichier, il peut être bon d'ajuster le "taux de densité" de l'index, afin de favoriser les insertions, ou les consultations. Le taux de densité est modifiable lors de la réindexation des fichiers (WDOptimiseur, ou fonction "HRéindexe").

1 commentaire:

Elian Lacroix a dit…

Pour ne pas programmer ce qui l'est déjà, il existe un composant pour intégrer aux applications un calcul régulier des statistiques (cf. ressources pratiques) :

WD Calcul statistiques Hyper File LST 62

Le composant Calcul des statistiques Hyper File permet de maintenir les statistiques d'index Hyper File à jour sans programmation.

Intégrez le composant dans votre projet et il se charge de recalculer les statistiques d'index si nécessaire.

Il est bien entendu possible de modifier les options de fonctionnement du composant grâce à la fonction ModifieOptions.

Par défaut le composant :
- calcule les statistiques à chaque fermeture de l'application
- calcule les statistiques des fichiers de données dont le dernier calcul de statistiques date de plus de 30 jours
- utilise les paramétrages Hyper File effectués dans votre application (Hyper File Classic, Hyper File C/S, utilisation de HChangeRep ou HSubstRep, HPasse, ...)