|
|
|
|
|
- Conditions d'utilisation
- Ré-indexation automatique
- Ré-indexation "à chaud"
- Calcul des statistiques
- Répertoire des fichiers temporaires
- Gestion des alphabets non latins
- Droits d'accès au fichier de données
- Cas particulier : Fichiers corrompus après reboot ou erreur fatale du poste
HRéindexe (Fonction) En anglais : HIndex
Disponible uniquement avec ces types de connexion
Reconstruit l'index d'un fichier de données (fichier d'extension ".NDX"). 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. SI HRéindexe(UnFichier, hNdxNormal) = Vrai ALORS
TableAffiche(TABLE_MaTable, taDébut)
FIN
Syntaxe
<Résultat> = HRéindexe([<Fichier de données> [, <Mode> [, <Jauge> [, <Taux de densité>]]]])
<Résultat> : Booléen - Vrai si la ré-indexation a été effectuée sans problème,
- Faux dans le cas contraire. La fonction HErreur permet d'obtenir plus d'informations sur le problème rencontré.
<Fichier de données> : Chaîne de caractères optionnelle Nom du fichier de données manipulé. Si ce nom n'est pas spécifié, la fonction HRéindexe va manipuler le dernier fichier de données utilisé par la dernière fonction de gestion HFSQL (fonction commençant par la lettre H). <Mode> : Constante ou combinaison de constantes de type entier (optionnel) Paramétrage de la ré-indexation : | | hChangeAlphabet | Ré-indexation avec changement d'alphabet. Le nouvel alphabet défini avec la fonction ChangeAlphabet sera pris en compte lors de la ré-indexation. Les tris, recherches, ... sur des clés de type chaîne (chaînes, caractères, date et heure) seront effectués selon cet alphabet. | hFTX | Ré-indexation des index full-text. | hMmoCompactage | Compactage 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. | hNdxCompactage | Ré-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é. | hNdxMinimal | Ré-indexation ne prenant en compte que les clés corrompues. Ce paramètre est ignoré si les constantes hNdxSuppression ou hNdxCompactage sont activées. | hNdxMuet | Ré-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. | hNdxSansStat | Ré-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. | hNdxSuppression | Ré-indexation avec suppression des enregistrements endommagés. | hSDX | Ré-indexation des index spatiaux. | hTâcheDeFond | | hVérifieMémo | Ré-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). |
<Jauge> : Nom de fenêtre, nom de champ ou entier optionnel - Nom de la fenêtre dans laquelle la jauge doit être affichée,
- Nom du champ de type Jauge affichant la progression de la réindexation,
- Identifiant (Handle) de la fenêtre qui affiche la jauge.
<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. Attention : ce paramètre est utilisable uniquement sur les fichiers de données au format HFSQL.
Remarques Conditions d'utilisation - La fonction HRéindexe permet de ré-indexer un fichier xBase.
- La fonction HRéindexe permet de réindexer les fichiers 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).
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 la fonction HStatCalcule. 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 si il n'y a pas assez de place. La variable H.RépertoireTemporaire permet de paramétrer le répertoire utilisé pour stocker ces fichiers temporaires. Cette variable est conseillée notamment lors de la ré-indexation de fichiers de données de taille très importante.
Gestion des alphabets non latins Pour modifier l'alphabet utilisé pour les recherches, les tris : - Spécifiez l'alphabet à utiliser avec la fonction ChangeAlphabet.
- Ré-indexez le fichier de données avec la fonction HRéindexe. Utilisez la constante hChangeAlphabet pour prendre en compte l'alphabet spécifié avec la fonction ChangeAlphabet.
Pour plus de détails sur la gestion des alphabets non latins dans les fichiers de données, consultez Gérer des alphabets spécifiques dans des fichiers de données. 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. Cas particulier : Fichiers corrompus après reboot ou erreur fatale du poste Lors d'un redémarrage inopiné du poste, les fichiers de données peuvent être corrompus. Dans ce cas, les fichiers de données contiennent des données qui ne correspondent à rien (par exemple caractères illisibles dans les données). Pour corriger ce problème : - Effectuez une ré-indexation avec suppression.
- Libérez les enregistrements en transaction avec la fonction HTransactionLibère.
- Supprimez les enregistrements incorrects à l'aide de WDMAP.
Classification Métier / UI : Code métier
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|