11
votes

Existe-t-il des outils d'optimisation de la requête pour SQL Server?

Y a-t-il des outils qui utilisent des optimisations de requête pour SQL Server 2005 et ci-dessus?

J'ai cherché et n'a rien trouvé.

Que recommandez-vous?

Si cette question a été répétée avant de pouvoir le fermer, mais je n'ai rien vu de similaire


4 commentaires

Vous n'avez peut-être pas vu le duplicata car il n'y a pas de tels outils - autres que l'esprit humain, peut-être aidé par le profileur SQL, l'assistant de syntonisation de l'indice, etc.


Je n'écris pas trop SQL, mais je reçois beaucoup cette question, je suis désolé


Qu'en est-il de prolonger la question aux livres couvrant le sujet. J'ai joué un peu avec DTA (assistant de syntonisation de la base de données) et j'ai eu la plupart du temps le sentiment que ce qui est maintenant.


SQL Profiler est un outil d'enregistrement de la charge de travail pour alimenter le conseiller de syntonisation du moteur de base de données.


6 Réponses :


6
votes

dans SSMS - Outils | Conseiller de syntonisation de la base de données - Ne fonctionne pas sur les versions express.


0 commentaires

2
votes

L'un des meilleurs optimiseurs de la requête concerne simplement la requête dans SQL Management Studio, puis inspecter le plan de requête. Cela vous donnera des indices sur les indices qu'il est (ou n'est pas) en utilisant et comment vous pouvez modifier la requête pour tirer parti de ceux-ci.


0 commentaires

31
votes

Le meilleur outil que j'ai jamais utilisé pour optimiser les requêtes dans MS SQL Server, est de loin l'option "Inclure le plan d'exécution réelle" dans Microsoft SQL Server Management Studio. Il affiche des informations détaillées sur le chemin d'exécution effectué par le serveur lors de l'exécution de votre requête. (Notez que cela fonctionne mieux quand il y a des données dans les tableaux. Bien sûr, sans bon bit de données de test, aucune optimisation est purement théorique de toute façon.)

Cela vous donne essentiellement trois choses très importantes:

  1. Il vous indique quelles mesures prennent le temps le plus de traitement et ce qu'ils font à cette étape.
  2. Il vous indique quelles étapes portent la plupart des données à l'étape suivante, y compris le nombre d'enregistrements, qui permet d'identifier les endroits où vous pouvez être plus précis sur les données souhaitées et d'exclure des enregistrements inutiles.
  3. Cela vous donne un tonne d'aperçu des travaux internes du serveur SQL et de ce qu'il fait avec vos requêtes. Cette connaissance vous aidera à optimiser beaucoup les choses au fil du temps.

1 commentaires

Avez-vous des conseils sur l'optimisation des requêtes dans Global?



0
votes

Comme John Saunders a commenté, le meilleur outil à votre disposition est votre propre esprit. Suivant le commentaire de Bernd_K, voici quelques suggestions d'affûtage de cet outil.


2 commentaires

N'essayez pas de rejeter vos conseils, mais il semble un peu fade de conseiller pour le réglage manuel lorsque vous demandez spécifiquement un outil de syntonisation automatique. C'est comme demander une imprimante laser et être informé de l'amélioration de votre calligraphie. Je l'obtiens à partir d'un point de réalisation personnel, mais d'une perspective de travail, vous êtes censé livrer des résultats rapidement.


Son point est peut-être que vous ne pouvez pas simplement obtenir des résultats rapides. De la même manière que vous ne pouvez pas obtenir un outil pour écrire votre candidature pour vous. À un moment donné, vous devez passer du temps à apprendre et à comprendre la raison pour laquelle une requête est lente. De nombreux problèmes de performance nécessitent de réécrire la procédure de requête ou stockée. Aucun outil ne le fera pour vous.



0
votes

Il s'agit également d'un bon outil pour surveiller et optimiser les requêtes:

moniteur SQL par la porte rouge


0 commentaires

5
votes

Un très bon outil et maintenant gratuit pour une utilisation est plan explorateur de Sentryone: https://sentryone.com/plan -Explorer

(Ils ont également de nombreux autres logiciels d'optimisation, tels que le logiciel spécifique d'Azure, etc.)


0 commentaires