IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement SQL Server Discussion :

Temps de mise à jour d'un index fulltext [2016]


Sujet :

Développement SQL Server

  1. #1
    Membre régulier
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2015
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 60
    Points : 71
    Points
    71
    Par défaut Temps de mise à jour d'un index fulltext
    Bonjour à tous,

    Je débute dans l'utilisation des index de recherche en texte intégral.

    j'ai créé un index de ce type dont voici le script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    CREATE FULLTEXT INDEX ON sebm_20190208 (
    	 RECH1
    	,RECH2
    	) KEY INDEX index1 ON Cat_fulltexte
    	WITH CHANGE_TRACKING AUTO;
    J'ai créé une procédure dans laquelle je remplis la table sebm_20190208, et qui, juste après, effectue une recherche contextuelle.
    Pour que cette requête fonctionne, j'ai du glisser juste avant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    waitfor delay '00:00:05'
    Je me doute bien du pourquoi : l'insertion dans la table a déclenché la mise à jour de l'index, mais l'INSERT rend la main avant que cette mise à jour soit terminée.

    j'ai mis 5 secondes de manière empirique, mais je me doute que je vais avoir des problèmes si la MAJ de l'index prend plus de temps.

    Y aurait il un moyen de déterminer quand la MAJ de l'index est terminée ?


    Merci de votre aide
    Seb

  2. #2
    Membre régulier
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2015
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 60
    Points : 71
    Points
    71
    Par défaut
    Ne cherchez pas, j'ai fini par trouver !

    la table sys.fulltext_indexes comporte un champ CRAWL_END_DATE qui est à NULL tant que l'analyse n'est pas terminée !

  3. #3
    Membre régulier
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2015
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 60
    Points : 71
    Points
    71
    Par défaut
    je met ici la solution finale :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    	WAITFOR delay '00:00:01'
    	WHILE EXISTS (select * FROM  sys.fulltext_indexes WHERE object_id= OBJECT_ID('sebm_20190208') and crawl_end_date is NULL)
    	BEGIN
    		print 'attends'
    		WAITFOR delay '00:00:01'
    	END
    Le WAITFOR avant la boucle est nécessaire.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 07/01/2017, 12h53
  2. Problème de mise à jour de l'index
    Par blue_bird dans le forum Bases de données
    Réponses: 4
    Dernier message: 20/02/2008, 14h04
  3. VBA QueryDefs Temps de mise à jour
    Par Thiazung dans le forum Réplications
    Réponses: 1
    Dernier message: 01/06/2007, 17h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo