Effet sur les performances de l'utilisation de TOP 1 dans une requête SELECT

J'ai une table Utilisateur où il y a un nom d'utilisateur et de l'Application des colonnes. Nom d'utilisateur peut répéter, mais la combinaison de nom d'utilisateur + Application est unique, mais je n'ai pas la contrainte unique sur la table (pour la performance)

Question: il n'y aura aucune différence (en terme de performance) entre :

SELECT * FROM User where UserName='myuser' AND Application='myapp'

ET -

SELECT TOP 1 * FROM User where UserName='myuser' AND Application='myapp'

Comme la combinaison de nom d'utilisateur + Application est unique, à la fois les requêtes seront toujours de ne retourner qu'un seul album, TOP 1 n'affecte pas le résultat. J'ai toujours pensé que l'ajout de HAUT 1 va vraiment accélérer les choses comme sql server arrêter de regarder après il a trouvé un match, mais j'ai lu récemment dans un article que l'utilisation de HAUT seront en fait ralentir les choses et il est recommandé d'éviter, s'ils n'ont pas expliqué pourquoi.

Des commentaires?

Merci!
Andrey

Merci pour le montage, Joel - pour une raison quelconque, je n'étais pas capable de faire les requêtes en tant que lignes de code, je voudrais sélectionnez-les et cliquez sur "code" icône et rien ne se passe.
Andrey, cliquez sur l'icône avant d'entrer dans le code. Le truc, c'est que toute ligne qui commence avec quatre espaces est interprété comme du code. J'ai simplement sélectionner mon code dans SSMS et de retrait. Qui me donne une parfaite mise en forme. (J'ai SSMS mis en place pour l'utilisation des espaces au lieu des caractères de tabulation.)

OriginalL'auteur Andrey | 2009-09-16