Les techniques de surveillance du plan de requête résolvent les problèmes de temps d'attente élevés, de goulots d'étranglement et de blocages généraux dans un système de gestion de base de données. Plus précisément, les problèmes résolus par les techniques de surveillance du plan de requête sont liés à des situations dans lesquelles un code SQL mal construit entraîne des coûts ou des efforts plus élevés, ainsi que des obstacles ou des goulots d'étranglement importants dans le système.
En tant que langage déclaratif, SQL est procédural. La surveillance du plan de requête ou du plan d'exécution de requête examine un ensemble ordonné d'étapes ou de lignes de code décrivant les manières spécifiques permettant à une requête de récupérer des informations de la base de données ou de travailler autrement avec des ensembles de données.
Dans la plupart des cas, il existe plusieurs façons de collecter un certain type d’informations. Les outils d’optimisation des requêtes évaluent donc les différentes options et montrent lesquelles sont les plus efficaces. Cependant, certains de ces outils d’automatisation nécessitent une certaine surveillance manuelle.
La sémantique et la terminologie autour des différents types de SQL et d'analyse de requêtes peuvent varier en fonction de facteurs tels que l'orientation d'un projet. La surveillance du plan de requête peut également être étroitement liée à la surveillance des performances SQL. De plus, les efforts visant à revoir un plan de requête peuvent être appelés « réglage de la base de données ». Dans toutes ces techniques de diagnostic, les ingénieurs recherchent les meilleurs moyens d'utiliser des requêtes SQL pour effectuer un certain type de tâche de base de données.
Une façon d'expliquer cela est que la surveillance du plan d'exécution des requêtes examine les requêtes SQL peu performantes. Il évalue l'utilisation de requêtes SQL particulières par certains benchmarks – par exemple, il peut identifier les durées les plus longues pour les requêtes dans le système, ou identifier les requêtes qui utilisent le plus de ressources CPU ou nécessitent le plus d'entrées/sorties. En analysant l'intégralité d'un réseau de serveurs traditionnel ou virtualisé, les outils de surveillance du plan peuvent fournir des données sur l'endroit où rechercher les goulots d'étranglement.
Les outils de surveillance du plan d'exécution des requêtes peuvent également utiliser des fonctionnalités d'une ressource de gestion de base de données, telles qu'une « table de plan » qui indique le coût et le temps de chaque requête individuelle. Des commandes telles que EXPLAIN PLAN peuvent présenter les données du plan de requête à des fins d'analyse.
Les outils d'automatisation sont conçus pour faire davantage lorsqu'il s'agit d'améliorer les diagnostics et les analyses SQL automatiques et de garantir que les meilleures requêtes permettent aux systèmes de fonctionner avec une efficacité maximale. Soit des systèmes automatisés, soit des ingénieurs humains peuvent évaluer les temps d'attente, qui sont les moments où un système ne s'exécute pas, mais attend derrière un processus. Ce sont les types de problèmes que la surveillance du plan de requête et d'autres techniques de diagnostic SQL sont censés résoudre, en conjonction avec d'autres types d'outils d'analyse et de mise en œuvre dans le monde sophistiqué de la gestion de bases de données d'aujourd'hui.