Pourquoi devrais-je reconstruire un index dont la moyenne est inférieure à Avg. la fragmentation est inférieure à 1% pour obtenir des performances?Pourquoi devrais-je reconstruire un index dont la moyenne est inférieure à Avg. la fragmentation est inférieure à 1% pour obtenir des performances?
J'ai une table qui avait l'habitude de mettre à jour fréquemment, mais quand je vois en profondeur et vérifie pour avg. la fragmentation, qui est utilisée à moins de 1% même. Lorsque je reconstruis cet index, les performances automatiquement ont été améliorées.
J'ai rejoint cette table avec plus de 2 tables en une seule requête.
Je veux savoir que par MSDN nous ne devrions rien faire à moins de 1% index contenant la table, mais sans reconstruire ma requête ne me donne pas de résultat plus rapidement. J'ai également défini FillFactor = 75.
Je suis partiellement d'accord avec vous, mais il peut y avoir un effet de fragmentation comme ma compréhension en lisant [MSDN blog] (https://docs.microsoft.com/en-us/sql/relational-databases/indexes/reorganize -and-rebuild-indexes). S'il y a un effet rare dans les performances selon vos commentaires, pourquoi ma requête devient plus rapide après la reconstruction de l'index cluster de ma table !!! – Dhruv
"ma requête devient plus rapide après la reconstruction de l'index clusterisé" les statistiques mises à jour sont la cause la plus probable, mais les plans de requête mis à jour pourraient le faire aussi. –
Merci David pour votre point de vue qui m'a donné un moyen de réfléchir sur un autre aspect, selon vos commentaires, j'ai ré-analyser toute requête et plan d'exécution et je pensais que je devrais ajouter l'index non clusterisé manquant sur cette table et enfin trouvé que ma requête a couru plus rapidement par rapport à l'exécution précédente. Je sais que c'est une mauvaise habitude d'ajouter des index non groupés pour toutes les requêtes qui sont lentes en termes d'exécution. – Dhruv