ce qui est plus rapide requête?ce qui est plus rapide requête (nom de sélection .... ou sélectionnez top (1) Nom
select Name from Worker
ou
select TOP(1) Name from Worker
Je 1.000.000 dossiers
remercient à l'avance
ce qui est plus rapide requête?ce qui est plus rapide requête (nom de sélection .... ou sélectionnez top (1) Nom
select Name from Worker
ou
select TOP(1) Name from Worker
Je 1.000.000 dossiers
remercient à l'avance
Si vous ne disposez pas d'un ORDER BY ou d'un DISTINCT, SELECT TOP(1) Name FROM Worker
est plus rapide
La raison en est que si vous avez un ORDER BY ou un DISTINCT, la requête doit passer par toute la table pour trier et filtrer les résultats indésirables. S'il s'agit d'un SELECT TOP droit, cependant, il peut aller à la première page, prendre la première rangée, et en finir rapidement.
True. Bien sûr, si vous avez 1 000 000 enregistrements, la sélection du top 1 sera plus rapide, quoi qu'il arrive. Une clause d'ordre ne fera que ralentir davantage les choses et réduire un peu la différence de vitesse. –
merci beaucoup! – Gold
Au cours de l'exécution, la requête peut passer le contrôle parce que le client est incapable d'analyser le résultat assez rapidement (consommer le jeu de résultats de 1 million de noms). Ainsi, même avec la commande, le TOP 1 * peut être plus rapide, en fonction de la lenteur du traitement du client. –
sérieusement? n'est-ce pas quelque chose que tu peux tester? –
Pourquoi les downvotes? C'est une question légitime, simple et directe, j'ai compris ce qu'il demande. Bien sûr, il aurait pu être mieux formaté, mais allez, -2? Je lui donne un +1. –
Est-ce que ceux qui laissent des downvotes laisser un commentaire à expliquer? C'est une bonne question à avoir, surtout si vous avez ORDRE PAR et DISTINCTS là-bas et sont confus au sujet de la performance. – Eric