INF: Arguments de recherche qui déterminer l'utilisation de page de distribution

Traductions disponibles Traductions disponibles
Numéro d'article: 169642 - Voir les produits auxquels s'applique cet article
Cet article a été archivé. Il est proposé « en l'état » et ne sera plus mis à jour.
Agrandir tout | Réduire tout

Résumé

Pour déterminer l'existence d'index utiles pour résoudre une requête, SQL Server recherche pour les arguments de recherche dans la requête. Arguments de recherche sont les arguments dans la clause WHERE d'une requête permettant de spécifier une condition pour restreindre le jeu de résultats renvoyé par la requête. Il est nécessaire que les arguments dans la clause WHERE sont du formulaire «colonne opérateur constante». Si index existent sur ces colonnes, l'optimiseur de SQL Server peut estimer la sélectivité de l'index et ainsi décider ou non pour l'utiliser.

Il est nécessaire que l'estimation de l'optimiseur recherche sélectivité argument en fonction des informations de distribution disponibles dans la page de distribution. Autres méthodes de détermination de la sélectivité des index pour un argument de recherche incluent l'utilisation des densités d'index et la densité magie. Densité magique est une estimation de la sélectivité d'argument de recherche peut être utilisée lors de la densité ou de statistiques sur la page de distribution ne peut pas être utilisé. Il estime 10 pour cent de la correspondance de lignes pour une comparaison d'égalité, 25 % pour une entre comparaison et 33 % pour supérieur à, inférieur à, supérieur ou égal à et inférieure ou égale à des comparaisons.

Plus d'informations

Attribution de scores un index est le processus d'estimation de l'utilité de l'index de l'argument de recherche dans la clause WHERE. Étapes de distribution sont conservées uniquement pendant la première colonne de l'index spécifié. Un argument de recherche valide se présente sous la forme «colonne opérateur constante». Tout opérateur qui n'est valide sur la colonne spécifiée peut être utilisé. Arguments de recherche non valide peuvent empêcher l'utilisation de l'index.

Pour permettre à l'optimiseur indexent score pour un argument de recherche en fonction de la page de distribution, les règles suivantes sur les arguments de recherche peuvent être utiles :
  1. Éviter les opérateurs d'inégalité (comme dans la colonne! = constante). Cela n'est pas un argument de recherche valide et n'autorise pas l'optimiseur évaluer l'utilité de l'index sur cette colonne, le cas échéant.

  2. Réduire autant que possible l'utilisation de variables locales (comme dans la colonne = @local variable), sauf si la valeur de la variable locale @ peut être déterminée avant l'exécution. Cela est dû au fait que la valeur de la variable locale @ n'est pas connue au moment de la compilation. Cela peut conduire à l'optimiseur à l'aide de densités magiques ou de densité de l'index. Lorsque la valeur n'est pas disponible, il ne peut pas être vérifiée par rapport aux étapes de distribution. La variable locale servira comme argument de recherche valide s'il est passé en tant que paramètre à une procédure stockée.
  3. Évitez d'effectuer des opérations sur la colonne (comme dans la colonne * 100 = constante). Cela n'est pas traité comme un argument de recherche valide. Au lieu de cela, essayez de réécrire la même expression (comme dans la colonne de formulaire = constante/100).
  4. Pour les sous-requêtes tels que ".. où colonne opérateur (sélectionnez colonne de table)» l'optimiseur peut de ne pas pouvoir utiliser les étapes de distribution, car la valeur de l'expression constante n'est pas connue jusqu'à l'exécution de la requête.
  5. Pour les clauses de jointure, une page de distribution ne peut pas être utilisée (contrairement à d'un argument de recherche).
Pour plus d'informations sur l'écriture de requêtes efficaces, reportez-vous aux articles suivants dans la base de connaissances Microsoft :
110352: INF: optimisation des performances de Microsoft SQL Server

46434: INF: écriture de requêtes efficaces et de procédures stockées

Propriétés

Numéro d'article: 169642 - Dernière mise à jour: jeudi 6 février 2014 - Version: 3.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft SQL Server 6.0 Standard
  • Microsoft SQL Server 6.5 Édition Standard
Mots-clés : 
kbnosurvey kbarchive kbmt kbinfo kbusage KB169642 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 169642
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com