DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Nouveauté exclusive de WINDEV, WEBDEV et WINDEV Mobile SaaS (Update 2). Consultez "Comment utiliser les nouveautés SaaS dans vos projets ?".
Aide / WLangage / Gestion des bases de données / HFSQL / Fonctions HFSQL Client/Serveur
  • Conditions d'utilisation
  • Ré-indexation automatique
  • Ré-indexation "à chaud"
  • Calcul des statistiques
  • Répertoire des fichiers temporaires
  • Droits d'accès au fichier de données
WINDEV
WindowsLinuxJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac Catalyst
Autres
Procédures stockées
Reconstruit l'index d'un fichier de données HFSQL Client/Serveur (fichier d'extension ".NDX"). Cette réindexation est asynchrone : elle est effectuée sur le serveur et ne bloque pas le poste Client.
Il est également possible de ré-indexer :
  • les index full-text (fichiers d'extension ".FTX"),
  • les index spatiaux (fichiers d'extension ".SDX").
La ré-indexation d'un fichier de données peut être effectuée même si des applications accèdent à ce fichier de données. Pour plus de détails, consultez les remarques.
Rappel : La ré-indexation ré-organise les index et peut libérer l'espace laissé libre lors des suppressions d'enregistrements. Après ré-indexation, l'accès aux index est optimal. La ré-indexation peut être rendue nécessaire par la perte ou l'altération du fichier d'index. La fonction HVérifieIndex permet de vérifier régulièrement l'état du fichier d'index.
Nouveauté SaaS
Cette fonction est une nouveauté disponible à partir de WINDEV Suite SaaS 2025 Update 2.
Pour plus de détails, consultez Utiliser les nouveautés de WINDEV Suite SaaS 2025.
Exemple
CnxBaseDeDonnées est une Connexion
TableauFichier est un tableau de hParamètreFichier
MonFichierParam est un hParamètreFichier
MonFichierParam.Nom = "ActionPossible"
MonFichierParam.MotDePasse = "MotDePasse"
// Propriété Option de la variable hParamètreFichier non prise en compte
TableauAjoute(TableauFichier, MonFichierParam)
// Lance la réindexation
SI bTâcheDeFond ALORS
	HRéindexeAsynchrone(CnxBaseDeDonnées, TableauFichier, hTâcheDeFond, 60, CB_HRéindexeAsynchrone)
SINON
	HRéindexeAsynchrone(CnxBaseDeDonnées, TableauFichier, CB_HRéindexeAsynchrone)
FIN

	PROCÉDURE INTERNE CB_HRéindexeAsynchrone(MonFichier est une chaîne, Res est un booléen)
		SI Res ALORS
			Trace("Fichier traité : " + MonFichier)
		SINON
			Trace("Erreur Fichier " + MonFichier + ErreurInfo())
		FIN
	FIN
Syntaxe
<Résultat> = HRéindexeAsynchrone(<Connexion> , <Fichiers de données à vérifier> [, <Mode> , <Taux de densité>] [, <Procédure WLangage>])
<Résultat> : Booléen
  • Vrai si la vérification a été lancée,
  • Faux dans le cas contraire.
<Connexion> : Chaîne de caractères ou variable de type Connexion
Connexion vers le serveur contenant les fichiers de données à manipuler. Cette connexion correspond :
<Fichiers de données à vérifier> : Tableau de variables de type hParamètreFichier
Nom du tableau de variables de type hParamètreFichier correspondant à la liste des fichiers de données à traiter.
<Mode> : Constante ou combinaison de constantes de type entier (optionnel)
Paramétrage de la ré-indexation :
hFTXRé-indexation des index full-text.
hMmoCompactageCompactage et défragmentation des fichiers de type "Mmo".

Attention : Cette constante ne peut pas être combinée avec les constantes hNdxCompactage, hVérifieMémo, hFTX, hSDX, hNdxNormal ou hNdxSuppression.
hNdxCompactageRé-indexation avec compactage : seuls les enregistrements actifs sont conservés. Tous les autres enregistrements sont définitivement supprimés. L'espace libéré par les suppressions est supprimé dans le fichier de données ".FIC" et dans l'index ".NDX".
Remarque : Si des enregistrements sont en transaction, le compactage est automatiquement désactivé.
hNdxMinimalRé-indexation ne prenant en compte que les clés corrompues. Ce paramètre est ignoré si les constantes hNdxSuppression ou hNdxCompactage sont activées.
hNdxMuetRé-indexation sans affichage.
hNdxNormal
(valeur par défaut)
Ré-indexation classique (avec statistiques et sans compactage).
Les statistiques permettent d'optimiser les requêtes et les filtres (voir Notes). Le calcul des statistiques prend en compte uniquement les enregistrements actifs.
hNdxSansStatRé-indexation sans calcul de statistiques. Cette constante permet d'obtenir un gain de place car les fichiers d'index seront moins importants.
Attention : Les statistiques sont très importantes pour obtenir des temps d'exécution corrects lors de l'utilisation de requêtes, de filtres avec condition et de vues avec condition.
hNdxSuppressionRé-indexation avec suppression des enregistrements endommagés.
hSDXRé-indexation des index spatiaux.
hTâcheDeFondRé-indexation effectuée en tâche de fond. Les applications ne sont pas bloquées pendant la ré-indexation.
hVérifieMémoRé-indexation normale avec vérification des mémos et correction si nécessaire (permet de récupérer une partie des mémos endommagés).
WINDEVWEBDEV - Code Serveur Remarque : Avant de faire une réindexation des mémos, il est possible de vérifier régulièrement l'état des mémos grâce aux fonctions :
<Taux de densité> : Entier compris entre 1 et 100
Taux de remplissage des index. Par défaut, ce taux a pour valeur 60.
Plus ce taux est important, plus l'index est dense et de petite taille. Dans ce cas, les parcours, recherches, filtres et requêtes seront plus rapides. Les ajouts d'enregistrements et les modifications d'enregistrements pourront être ralentis.
Plus ce taux est faible, moins l'index sera dense et plus sa taille sera importante. Dans ce cas, les parcours, recherches, filtres et requêtes seront ralentis. Les ajouts d'enregistrements et les modifications d'enregistrements seront plus rapides.
<Procédure WLangage> : Nom de procédure optionnel
Nom de la procédure WLangage (également nommée "callback") appelée pour chaque fichier de données traité. Cette procédure permet de manipuler le fichier de données en cours.
Pour plus de détails sur cette procédure, consultez Paramètres de la procédure utilisée par la fonction HRéindexeAsynchrone.
Remarques

Conditions d'utilisation

  • La fonction HRéindexeAsynchrone permet de ré-indexer un fichier de données HFSQL Client/Serveur.
  • La fonction HRéindexeAsynchrone permet de réindexer les fichiers de données d'un cluster. Dans ce cas :
    • La réindexation est effectuée sur le noeud auquel l'utilisateur est connecté.
    • Seule une réindexation à chaud est disponible (constante hTâcheDeFond).
WINDEVWEBDEV - Code ServeurEtats et RequêtesiPhone/iPadCode Utilisateur (MCU)Langage ExterneAjaxHFSQL ClassicHFSQL Client/Serveur

Ré-indexation automatique

La ré-indexation d'un fichier de données peut être rendue nécessaire par la perte ou l'altération du fichier d'index. Une ré-indexation automatique des fichiers de données peut être mise en place. Pour plus de détails, consultez l'aide de la fonction HRéindexe.
WINDEVWEBDEV - Code ServeurEtats et RequêtesiPhone/iPadCode Utilisateur (MCU)AjaxHFSQL ClassicHFSQL Client/Serveur

Ré-indexation "à chaud"

La ré-indexation d'un fichier de données HFSQL Client/Serveur peut être effectuée même si des applications accèdent à ce fichier de données.
Pendant la ré-indexation, les différentes applications manipulant les données du fichier de données (lecture ou écriture d'enregistrements) seront temporairement arrêtées/bloquées jusqu'à la fin de la ré-indexation.
WINDEV Une fenêtre apparaît indiquant que le fichier de données est en cours de ré-indexation (appelée aussi réorganisation). Cette fenêtre est affichée pendant toute la durée de la ré-indexation et ne peut être fermée. Une jauge de progression indique l'état de la ré-indexation.
Il est possible de personnaliser cette fenêtre et/ou de ne plus l'afficher. Pour plus de détails, consultez Gestion assistée des erreurs HFSQL.
Pour éviter les effets de clignotement, la fenêtre de ré-indexation s'affiche uniquement si la ré-indexation risque de durer plus de 2 secondes. Dans ce cas, cette fenêtre apparaît au bout de 0.7 secondes.
Remarques :
  • La ré-indexation "à chaud" ne peut pas être effectuée si des enregistrements sont bloqués en lecture/écriture dans le fichier de données à ré-indexer. Si les enregistrements sont uniquement bloqués en écriture, la ré-indexation à chaud peut être effectuée.
  • Si la constante hTâcheDeFond est utilisée, la ré-indexation est effectuée en tâche de fond et les applications utilisant le fichier de données ne seront pas arrêtées.

Calcul des statistiques

Le calcul des statistiques permet d'optimiser les requêtes et les filtres sur le fichier de données. Ce calcul prend en compte uniquement les enregistrements actifs. Ce calcul peut également être obtenu par:
Remarque : Pour que le calcul des statistiques soit efficace, il est nécessaire de réaliser ce calcul sur tous les fichiers de données (par exemple dans le cas d'une requête multifichier).

Répertoire des fichiers temporaires

Pendant la ré-indexation, des fichiers temporaires peuvent être créés. Par défaut, ces fichiers sont créés dans le répertoire temporaire de Windows ou dans le répertoire courant s'il n'y a pas assez de place.
Le répertoire utilisé pour stocker les fichiers temporaires sur le serveur peut être défini :

Droits d'accès au fichier de données

La ré-indexation provoque la recréation du fichier de données sur disque. Dans un système d'allocation gérant les droits au niveau des fichiers (NTFS, etc.), le fichier de données après ré-indexation aura donc les droits du répertoire auquel il appartient.
Si avant la ré-indexation, le fichier de données avait des droits particuliers différents de ceux du dossier, il est nécessaire de les redéfinir au niveau de Windows après la ré-indexation.
Classification Métier / UI : Code métier
Composante : wd300hf.dll
Version minimum requise
  • Version 2025 (SaaS)
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 10/06/2025

Signaler une erreur ou faire une suggestion | Aide en ligne locale