Le moteur HFSQL utilise un principe de statistiques sur les clés définies dans les fichiers de données.

Ces statistiques sont systématiquement utilisées que l'exploitation soit faite avec HFSQL Classic ou HFSQL Client/Serveur, dès qu'une application va :
  • effectuer des lectures en filtrant les données (HFiltre, POUR TOUT...),
  • interroger la base via une requête,
  • créer une vue ...
Les statistiques permettent en effet au moteur de déterminer les rubriques les plus discriminantes qui permettront d'optimiser les parcours et sélection de données.

Il est donc capital de maintenir à jour les statistiques des index, notamment lorsque les données subissent des mouvements importants.

La mise à jour des statistiques peut être faite à différents niveaux :
  • directement dans une application avec la fonction HstatCalcule.
  • via une tâche planifiée du moteur HFSQL Client/Serveur, par exemple pour un traitement lorsque l'application n'est pas utilisée.
  • lors de la réindexation de la base de données.

Il est important d'insister sur l'aspect fondamental de ces statistiques sur les performances. Lorsqu'il y a eu de nombreuses opérations de mises à jour des données (ajouts, modifications suppressions), le classement des index peut ne pas être suffisamment favorable pour obtenir les meilleures performances. Dans ce cas le simple recalcule des statistiques peut réduire les temps d'exécution par un facteur allant de 2 à 10, voir beaucoup plus dans les cas les plus défavorables.

Quelque soit la méthode retenue afin de garder les statistiques à jour, il est conseillé d'ajouter dans les applications une vérification de la date du dernier calcul (cf. fonction HStatDate). L'application peut ainsi faire remonter l'information à l'utilisateur, l'administrateur, le développeur suivant le cas, dès que les statistiques ne sont plus suffisamment à jours.

Les bases de données utilisées par WINDEV, WEBDEV et WINDEV Mobile sont également concernées par les statistiques, notamment le GDS. Typiquement après des modifications importantes comme l'ajout de branches, ou de projets, un recalcule des statistiques de la base du GDS, via son option de réindexation, peut réduire considérablement les temps d'accès.

< Retour