Les données sont tout et, par conséquent, SQL estpartout. Le langage de requête structuré est devenu le langage de requête le plus utilisé et est pris en charge par les systèmes de gestion de bases de données relationnels les plus modernes. En fait, son utilisation est si répandue que nous appelons souvent serveurs de bases de données des serveurs SQL. Le langage définit la manière dont les requêtes peuvent être formées pour extraire d’une base de données les données précises requises. Vu la multiplicité des bases de données modernes avecDes dizaines de tables jointes, les requêtes SQL peuvent être assez complexes. Avec la complexité ajoutée vient la performance réduite. L’optimisation des requêtes SQL permet d’affiner les requêtes afin qu’elles renvoient les bonnes données le plus rapidement possible. L’optimisation des requêtes SQL peut être effectuée manuellement, mais des outils existent pour vous aider à les optimiser. Nous sommes sur le point de passer en revue certains des meilleurs outils que nous avons trouvés.
Puisque nous voulons que tout le monde soit sur la même page queNous passons en revue les meilleurs produits. Nous commencerons par examiner le quoi et le timide de l’optimisation des requêtes SQL. Ensuite, nous aborderons les principales fonctionnalités des outils d’optimisation des requêtes SQL. Différents outils offrent différentes fonctionnalités, comme vous allez le voir. Nous ferons de notre mieux pour définir les caractéristiques essentielles que vous devriez rechercher lorsque vous choisissez le meilleur outil pour vos besoins spécifiques. Enfin, nous examinerons les meilleurs outils que nous avons pu trouver.
Optimisation des requêtes SQL, quoi et pourquoi
En termes simples, l'optimisation des requêtes SQL est l'acte deanalyser les requêtes SQL et déterminer le mécanisme d'exécution le plus efficace. Il s’agit souvent d’un processus d’essais et d’erreur dans lequel différentes requêtes sont testées pour déterminer celle qui offre les meilleures performances, tout en renvoyant les données recherchées. Les optimiseurs de requêtes sont parfois intégrés aux systèmes de gestion de bases de données, mais on pense souvent que les outils tiers externes offrent de meilleurs résultats en termes de performances. Un optimiseur de requête typique générera un ou plusieurs plans de requête pour chaque requête, chacun constituant un mécanisme permettant d'exécuter la requête. Les performances (temps d'exécution, par exemple) sont mesurées et le plan de requête le plus efficace est sélectionné et utilisé pour exécuter la requête. Bien que certains outils d'optimisation de requête SQL soient des applications d'assistance plus simples nécessitant une assistance humaine importante, les meilleurs systèmes effectuent l'essentiel de leur travail en arrière-plan.
Voici un exemple rapide d’optimisation de requête. Si un utilisateur exécute une requête qui sélectionne environ la moitié des données d’une table à un moment où le serveur est chargé de plusieurs connexions simultanées. Dans une telle situation, l'optimiseur de requête pourrait décider d'utiliser un plan de requête utilisant les index de table pour satisfaire la requête, en fonction de ressources limitées. Cela pourrait réduire l’affaiblissement de la requête sur les ressources du serveur. Si l'utilisateur exécutait la même requête à un autre moment, alors que davantage de ressources du serveur étaient disponibles, l'optimiseur de requête aurait pu déterminer que la limitation des ressources n'était pas un problème et ne pas utiliser d'index de table, chargeant ainsi la table complète en mémoire.
Caractéristiques principales des outils d'optimisation de requêtes SQL
Comme nous l’avons déterminé, la fonction principale d’un SQLL'outil Optimiseur de requête doit essayer de déterminer le meilleur moyen d'exécuter la requête en analysant différents plans de requête. Tous les outils examinés ici y parviendront au moins, mais certains offrent beaucoup plus de fonctionnalités. Jetons un coup d’œil à quelques unes des fonctionnalités principales des outils d’optimisation de requêtes SQL.
Réglage SQL de base
Ceci est la fonctionnalité principale de SQL QueryOutils d'optimisation. Il s’agit de réécrire les instructions SQL différemment dans le but d’améliorer les performances de la requête tout en obtenant le même ensemble de données. L'outil fonctionne en mesurant le temps d'exécution de la requête des différentes versions de la requête (plans de requête) et en choisissant celle qui exécute la plus rapide.
Prise en charge du moteur de base de données
La plupart des outils seront au moins compatibles avec les logiciels les plus courants.moteurs de base de données tels que Microsoft SQL, Oracle, MySQL, PostgreSQL et MariaDB. D'autres soutiendront une sélection plus large et d'autres encore n'en soutiendront qu'un. Il est important de choisir un outil capable de prendre en charge tous les moteurs que vous utilisez,
Support de base de données en nuage
Certains outils d’optimisation de requête SQL sont capables de:analyser et optimiser les bases de données hébergées sur le cloud telles que Microsoft SQL Azure ou AWS RDS. La prise en charge dans le cloud varie grandement d'un outil à l'autre. Encore une fois, il est important d’en choisir un qui supporte ce que vous avez. Notez que la plupart des outils prenant en charge les bases de données cloud prendront également en charge ceux sur site.
Les meilleurs outils et logiciels d'optimisation de requêtes SQL
Le moment est enfin venu de révéler - etreview - les meilleurs outils et logiciels d'optimisation de requête SQL que nous avons pu trouver. Notre liste comporte de nombreux types d’outils, chacun apportant sa propre touche à l’optimisation. Nos principaux critères d'inclusion étaient que chaque produit contribuait au moins à l'optimisation manuelle des requêtes SQL (la plupart le font automatiquement) et qu'ils fonctionnaient comme prévu. Nous ne voudrions pas vous faire perdre du temps sur des produits qui ne feront pas ce qu’ils devraient.
1. Analyseur de performance de base de données SolarWinds (Essai gratuit)
Notre premier produit provient de SolarWinds, une sociétéElle jouit d'une excellente réputation en tant que meilleur outil de gestion de réseaux et de systèmes depuis près de vingt ans. Son produit phare appelé SolarWinds Network Performance Monitor est considéré par beaucoup comme l’un des meilleurs logiciels de surveillance de la bande passante réseau. Une partie de la renommée de SolarWinds provient également des nombreux outils gratuits qu’il offre. Ce sont des outils plus petits, chacun s’adressant à une tâche spécifique des administrateurs réseau. La calculatrice avancée de sous-réseau et le serveur Kiwi Syslog sont deux excellents exemples de ces outils.
Pour l’optimisation des requêtes SQL, vous avez toutefois besoin de la Analyseur de performance de base de données SolarWinds (DPA), un outil de gestion de base de données conçu pour les requêtes SQLsurveillance, analyse et réglage des performances. Il surveille et analyse les instances de votre base de données SQL et, à l'aide d'une méthode d'analyse du temps de réponse qui met principalement l'accent sur le temps écoulé entre une requête et la réponse correspondante de la base de données, analyse les types d'attente et les événements afin de localiser les goulots d'étranglement des bases de données.

- ESSAI GRATUIT: Analyseur de performance de base de données SolarWinds
- Lien de téléchargement: https://www.solarwinds.com/database-performance-analyzer
L'outil, qui est également idéal pour le dépannagecomporte une interface facile à utiliser qui vous aidera à trouver des problèmes rapidement et facilement. L'écran principal vous permet de visualiser les instances de la base de données, les temps d'attente, les conseils de requête, le processeur (avec alertes et avertissements critiques), la mémoire, le disque et les sessions.
Lors du repérage, le tableau de bord de tendance d’unUne instance de base de données spécifique vous indique, sous forme graphique, les temps d’attente totaux (ou votre choix de temps d’attente moyens ou normaux) pour les utilisateurs au cours d’un mois. Sur ce graphique, chaque couleur représente une instruction SQL individuelle, ce qui vous donne une représentation attrayante de celle qui prend le plus de temps à être exécutée.
Bien que ce produit ne soit pas une vraie requête SQLoutils d’optimisation, certaines de ses fonctions peuvent vous aider. Par exemple, il peut surveiller et mesurer le temps d'exécution de la requête. Il fournit également des conseils de paramétrage bien qu'il soit généralement lié à la configuration de la base de données plutôt qu'au code de la requête.
Le prix pour le Analyseur de performance de base de données SolarWinds commence à 1 995 $ et varie en fonction de lanombre et type d'instances de base de données à surveiller. Si vous souhaitez tester le produit avant de l'acheter, une version d'essai entièrement fonctionnelle de 14 jours est disponible.
2. Syntoniseur de requêtes SQL pour le gestionnaire de diagnostics SQL
le Gestionnaire de diagnostic SQL est l'un des principaux outils de surveillance de base de données disponibles. Mais en le complétant avec le Tuner de requête SQL, ce que vous obtenez est l’une des meilleures requêtes SQLoutils d'optimisation. Ses avantages sont multiples. Il identifie les requêtes SQL problématiques via le profilage de base de données d'analyse des temps d'attente. Il peut également vous donner des recommandations de réglage générées automatiquement à l'aide de l'assistant de réglage des requêtes SQL. L'outil vérifiera les performances des requêtes SQL via des tests de charge dans des environnements de production simulés.
le Syntoniseur de requêtes SQL identifiera rapidement et facilement les requêtes SQLréduire les performances de la base de données via le profilage de la base de données et afficher une visualisation graphique de l’analyse des temps d’attente. Il surveillera une source de données entière dans un laps de temps configurable avec un profilage continu. En conséquence, vous comprendrez mieux comment SQL Server prévoit d'exécuter des requêtes SQL et les différents coûts de performances.

Cet outil présentera automatiquement générésolutions suggérées avec l'assistant de réglage des requêtes SQL, qui fournissent un contexte essentiel pour le réglage des requêtes SQL. Il comporte une analyse d'index codée par couleur pour les index utilisés, non utilisés et manquants, avec des recommandations pour des performances optimales. Vous pouvez générer des cas possibles et trouver la meilleure alternative à une instruction SQL donnée en incluant des réécritures de requêtes SQL et des injections d'indices.
le Syntoniseur de requêtes SQL présente des diagrammes d'ajustement de requêtes visuels SQL uniquesqui vous permettent de comprendre l'impact des instructions SQL sur la base de données en utilisant les diagrammes au lieu de plans d'exécution compliqués. Les index et les contraintes sur les tables et les vues sont affichés avec les statistiques de table et les jointures utilisées dans une instruction SQL (telles que les jointures cartésiennes, les jointures cartésiennes implicites et les relations plusieurs à plusieurs) avec les diagrammes.
Vérifier les performances des serveurs existants etautres requêtes SQL sur la base de données via des tests de charge. Configurez les requêtes SQL pour s'exécuter plusieurs fois en parallèle et observez leur réponse aux environnements de production simulés sans risque de test en production. À l'aide de cet outil, vous pouvez ajuster les requêtes SQL peu performantes pour SQL Server à partir d'une interface intuitive.
le Syntoniseur de requêtes SQL est un ajout au Gestionnaire de diagnostic SQL. Si vous ne possédez pas déjà ce produit, les deux peuvent être achetés ensemble en tant que SQL Diagnostic Manager Pro 2 156 USD par licence, un essai gratuit de 14 jours sans carte de crédit est également disponible auprès du fournisseur du produit.
3. SQL Server Management Studio
Si votre serveur de base de données est un serveur Microsoft SQL, peut-être le propre outil de Microsoft, SQL Server Management Studio (SSMS), est tout ce dont vous avez besoin. Comme vous le savez peut-être, l'outil, qui a été lancé pour la première fois avec Microsoft SQL Server 2005, est utilisé pour la configuration, la gestion et l'administration de tous les composants de Microsoft SQL Server. Il inclut à la fois des éditeurs de script et des outils graphiques fonctionnant avec des objets et des fonctionnalités du service. Ce que vous ignorez peut-être, c’est que l’un des outils de SSMS, le Assistant de paramétrage du moteur de base de données SQL Server (DTA) peut être utilisé pour l'optimisation de requête SQL.

L’objet principal de la DTA est d’analyser des bases de donnéeset donner des recommandations. Selon la documentation officielle de Microsoft, cet outil peut vous aider à résoudre les problèmes de performances d'une requête spécifique, à ajuster un grand nombre de requêtes sur une ou plusieurs bases de données, à effectuer une analyse hypothétique exploratoire des modifications potentielles de la conception physique et à gérer l'espace de stockage.
Une des meilleures choses à propos de SQL Server Management Studio c'est son prix. C’est un outil gratuit de Microsoft que vous pouvez utiliser pour gérer non seulement SQL Server, mais également Azure SQL Database. Ce n’est peut-être pas l’outil le plus convivial du marché mais, vu son prix, il pourrait être intéressant de le regarder.
4. EverSQL
EverSQL est intéressant car c’est l’un des rares outils d’optimisation SQL en ligne. Les administrateurs peuvent utiliser cet outil pour obtenir des recommandations de réglage des requêtes et des suggestions d'amélioration de l'indexation. Support de base de données en EverSQL est un peu limité. Cependant, il prend en charge les moteurs de base de données payants, gratuits et à source ouverte les plus courants, notamment MSSQL, Oracle, MySQL, MariaDB et PerconaDB. En fait, s’il s’agit d’un outil hors ligne qui n’a aucune connexion avec votre base de données, il pourrait théoriquement optimiser et interroger SQL, mais il ferait un meilleur travail s’il sait quel type de moteur de base de données traitera la requête optimisée.

L'utilisation de l'outil est super simple. Vous vous connectez au site, sélectionnez votre type de base de données et votre version, puis collez le code de requête SQL. Pour obtenir des recommandations d’indexation et permettre à l’outil d’appliquer des transformations de requête avancées, vous pouvez éventuellement télécharger la structure de schéma de votre base de données. Vous cliquez sur «Suivant» et en quelques secondes, vous obtenez la version optimisée de votre requête ainsi que certaines recommandations d’indexation.
EverSQL ne fait pas seulement des optimisations de requête, cependant. Quelques autres outils en ligne gratuits et utiles sont également proposés. Il existe, par exemple, un vérificateur de syntaxe de requête SQL, un validateur de requête pour les instructions SQL et un formateur de requête.
La structure de prix de EverSQL est simple. Vous avez le choix entre un forfait gratuit qui vous offre une optimisation de requête gratuite par jour pendant 30 jours. Ceci est le plan d'essai. Ensuite, vous avez le plan de base à 29 $ / mois qui comprend 10 optimisations mensuelles et le plan Plus à 135 $ / mois avec 30 optimisations par mois et un support de chat en direct. Des plans personnalisés peuvent également être organisés pour répondre à vos besoins spécifiques.
5. SentryOne Plan Explorer
Explorateur de plans est un outil gratuit de SentryOne. C’est l’une des meilleures analyses de requête SQL etoutils d'optimisation. Cet outil peut vous aider à identifier rapidement les problèmes les plus difficiles liés aux requêtes SQL Server. Il est composé de plusieurs modules. L'Index Analysis utilise des algorithmes de scoring pour vous aider à déterminer le meilleur index pour prendre en charge une requête donnée. Vous pouvez facilement afficher les index recommandés, créer et modifier des index, et détecter et mettre à jour d’anciennes statistiques.
Le module d’analyse statistique vous montre lesimpact des paramètres de requête compilés et d'exécution sur les performances. Cela vous permet de repérer rapidement les biais de données pouvant contribuer aux problèmes de détection de paramètres, de visualiser les problèmes de clé croissants potentiels et d'identifier les opportunités pour les index filtrés.

Le profilage et la lecture des performances de la requêtemodule va rejouer les requêtes et accéder à leurs statistiques de performance en direct. À l'aide de cet outil, vous pouvez lire le profil de requête pour voir exactement quels opérateurs ajoutent le plus de charge sur les ressources système. Il n’est pas nécessaire de réexécuter la requête.
Bien que la plupart des optimiseurs de requêtes SQL utilisent le coût prévisionnel estimé, Explorateur de plans peut afficher les coûts réels observés. Et vous pouvez voir la différence de coût en basculant la vue entre Estimé et Réel. Cet outil gratuit comporte plus de fonctionnalités que nous n’avons le temps de les présenter. Mais comme c’est un outil gratuit, vous voudrez peut-être essayer et voir par vous-même.
6. dbForge Studio pour SQL Server
DevartS dbForge Studio pour serveur SQL est un outil graphique tout-en-un pour serveur SQL qui peut êtreutilisé pour la gestion, l’administration, le développement, la création de rapports de données, l’analyse, l’optimisation, etc., de SQL Server. Les développeurs SQL et les administrateurs de base de données peuvent utiliser l'outil graphique pour accélérer presque toutes les tâches complexes de base de données, telles que la conception de bases de données, l'écriture de code SQL, la comparaison de bases de données, la synchronisation de schémas et de données, la génération de données de test significatives, entre autres.

dbForge Studio pour serveur SQL comprend le Outil de plan de requête SQL, un outil d’optimisation de requête dédié. Sa fonctionnalité de diagramme de plan d'exécution permet de visualiser et d’ajuster le plan d’exécution de la requête en localisant les nœuds à exécution lente. L'onglet Wait Stats de l'outil vous permet de détecter facilement les goulots d'étranglement potentiels dans votre requête en affichant une liste d'événements et d'attentes associés. Vous pouvez également utiliser l’arborescence de plan de l’outil pour obtenir des informations sur la manière dont SQL Server exécute une instruction SELECT. Cela vous montrera où l'ajout d'un index à une table ou l'optimisation de la jointure d'une table, par exemple, pourraient améliorer les performances.
L’outil, également appelé Profileur de requêtes T-SQL, est intégré aux standards, profesional etVersions d'entreprise de dbForge Studio pour serveur SQL au prix de 249,95 $, 499,95 $ et 699,95 $, respectivement. Un essai gratuit de 30 jours de l’ensemble du produit, et pas seulement de l’outil d’optimisation des requêtes, est disponible.
commentaires