Performances du nombre de serveurs SQL (*)
Divers problèmes de performances du nombre (*) peuvent survenir dans SQL Server lors du traitement de tables volumineuses, telles que comme ceux avec des millions de lignes. Explorons les raisons sous-jacentes et les solutions potentielles.
Optimisation pour le nombre exact
Lors de l'exécution d'une vérification d'égalité exacte (par exemple, si (sélectionnez count() dans BookChapters) = 0), SQL Server optimise la requête en utilisant une vérification d'existence (si elle existe (sélectionnez dans BookChapters)). Cette optimisation ignore le décompte réel des lignes, ce qui entraîne une exécution plus rapide des requêtes.
Pénalité de performance pour les contrôles d'inégalité
Cependant, lors de l'utilisation de contrôles d'inégalité (par exemple, if (select count () de BookChapters) = 1 ou si (sélectionnez count() de BookChapters) > 1), SQL Server s'appuie sur des recherches d'index ou des analyses de tables. Étant donné que la table BookChapters ne contient aucun index non clusterisé, dans ce cas, une analyse complète de la table est effectuée. Cette opération fastidieuse explique le ralentissement important.
Techniques alternatives pour un comptage plus rapide
Pour améliorer les performances, envisagez les techniques suivantes lorsque vous traitez de grandes tables :
Extraire le nombre de lignes de la table sysindexes, qui fournit une estimation rapide et fiable des lignes de la table.
Utilisez la table sys.partitions pour additionner les lignes associées à chaque partition d'une table ou d'un index clusterisé. Cela fournit un nombre de lignes précis et efficace.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!