Une fois l'index de texte créé et mis à jour pour la première fois, vous devez le maintenir à jour. Par exemple, lorsque vous ajoutez un document texte à une base de données ou que vous modifiez un document existant dans une base de données, vous devez indexer le document pour maintenir le contenu de l'index synchronisé avec celui de la base de données. De même, lorsque vous supprimez un document texte d'une base de données, ses termes doivent être retirés de l'index.
Si l'index de texte a été créé sans l'option RECREATE INDEX ON UPDATE, des déclencheurs stockent automatiquement les informations sur les documents nouveaux, modifiés ou supprimés dans une table de journalisation interne. Aussi, la prochaine fois qu'une mise à jour de l'index a lieu, les documents référencés dans la table de journalisation sont indexés. Pour plus d'informations sur un index de texte sur des vues, reportez-vous à la section Index de texte sur des vues.
Si vous spécifiez l'option RECREATE dans la commande CREATE INDEX, l'index est totalement reconstitué à chaque mise à jour. Cette option ne crée pas de table de journalisation, ni de déclencheur.
Généralement, la mise à jour d'un index s'effectue selon certains intervalles. Il est possible de modifier la fréquence de mise à jour d'un index existant à l'aide de la commande ALTER INDEX.
La fréquence de la mise à jour de l'index est spécifiée en termes de quand la mise à jour doit avoir lieu et du nombre minimal de modifications de texte devant se trouver en file d'attente. Si le nombre de modifications figurant dans la table de journalisation est insuffisant au jour et à l'heure donnés, l'index n'est pas mis à jour.
Vous devez planifier soigneusement une indexation périodique. L'indexation de documents texte est une tâche qui demande du temps et des ressources. La durée dépend de plusieurs facteurs. Ceci inclut la taille des documents, le nombre de documents texte ayant été ajoutés ou modifiés depuis la précédente mise à jour de l'index et la puissance du processeur.
Remarque |
---|
Dans une table DB2, des récupérations amont et des interblocages peuvent se présenter dans les cas présents :
|
La commande UPDATE INDEX vous permet de mettre à jour un index immédiatement sur demande.
Résumé |
---|
|
La commande suivante met à jour l'index :
db2text UPDATE INDEX comment FOR TEXT
Cette commande est utile lorsque vous avez ajouté plusieurs documents texte à une base de données et souhaitez les rechercher immédiatement.
Pour déterminer si une réorganisation manuelle est nécessaire, interrogez la vue db2ext.textindexes à l'aide de la commande suivante :
db2 "select reorg_suggested from db2ext.textindexes where INDNAME = 'comment'"
Si vous spécifiez MANUAL REORGANIZATION et mettez souvent à jour une colonne, le processus de mise à jour ralentit. Pour effectuer une réorganisation manuelle, utilisez la commande suivante :
dbtext UPDATE INDEX comment FOR TEXT reorganize
Cependant, si vous spécifiez AUTOMATIC REORGANIZE pendant CREATE INDEX, l'index sera automatiquement réorganisé si nécessaire.