J'ai un site Web asp.net avec de nombreuses requêtes d'insertion, de mise à jour et de suppression exécutées sur ma base de données.
Il y a quelques jours, je crée un index de texte intégral sur deux colonnes d'un des tableaux. Après cela, j'ai réalisé que lorsque le site Web exécute des requêtes de mise à jour sur cette table, l'utilisation de la mémoire et du disque du processus SQL Server saute et les mises à jour sont plus lentes. Les requêtes ont été exécutées sans aucun problème de performances avant de créer l'index de texte intégral.
J'ai également réalisé que les requêtes de mise à jour qui étaient très simples auparavant, sont maintenant compliquées, car le plan d'exécution comporte désormais des éléments tels que la mise à jour de l'index de texte intégral. Cela fait partie d'un nouveau plan d'exécution qui est devenu compliqué après l'activation du texte intégral:
Dans certaines heures, lorsque je mets à jour le contenu du site, j'ai exécuté 5000 requêtes de mise à jour et je pense que le processus d'indexation de texte intégral est effectué à chaque fois pour chaque ligne.
Dois-je désactiver l'analyse de texte intégral au début de la mise à jour des lignes, puis la réactiver (comme dans cette question connexe )?
Puis-je dire à SQL Server d'arrêter l'indexation de texte intégral pendant 5 minutes, puis de commencer l'indexation de nouvelles données?
Y a-t-il une meilleure alternative? J'utilise SQL Server 2012.