Oracle
 sql >> Base de données >  >> RDS >> Oracle

Réglage SQL

Il n'y a pas si longtemps, j'ai donné un tutoriel sur le plan d'explication à notre équipe de développement d'applications. Une question qui s'est posée était de savoir comment puis-je décider quelles instructions SQL ont besoin d'être ajustées ? J'utilise différentes approches et trouve des candidats de réglage SQL sous différents angles.

  1. J'effectue régulièrement des revues de code sur les instructions SQL qui arrivent dans notre base de données. Je tire parti de mon expérience pour examiner rapidement une instruction SQL qui est nouvelle ou qui a été considérablement modifiée pour décider si je dois approfondir le SQL. Par exemple, si une requête sur une table recherche sur une colonne PK ou Unique, je peux être sûr qu'elle s'exécutera rapidement. Si l'instruction SQL me semble suspecte, je vais l'exécuter via EXPLAIN PLAN et/ou chronométrer l'instruction pour m'assurer qu'elle s'exécute suffisamment.
  2. Oracle Enterprise Manager m'alerte en cas de conflit de ressources dans notre système de base de données de test. Toutes les instructions SQL que j'ai manquées lors de la révision du code peuvent parfois être trouvées ici. Si je reçois une alerte de conflit de ressources, je sauterai dessus et verrai si une ou deux instructions SQL causent un problème. C'est ma dernière chance d'intercepter les instructions SQL avant qu'elles n'entrent en production.
  3. J'utilise Ignite pour Oracle. Ce produit est de Confio, mais Confio fait maintenant partie de Solarwinds. Normalement, je ne branche pas les produits du vendeur, mais je ferai une exception dans ce cas. Ce que j'aime chez Ignite, c'est qu'il m'envoie un rapport par e-mail tous les lundis. Le rapport contient les N principaux délinquants en fonction du temps d'attente. Il me faut quelques secondes pour regarder ce rapport. Je cherche les grosses barres dans le rapport. Dans l'exemple de capture d'écran ci-dessous, vous pouvez voir une barre bleue qui attire immédiatement votre attention. Le nombre à droite est une valeur d'identification et si vous cliquez dessus, vous pouvez obtenir le texte SQL. C'est un excellent moyen d'identifier les instructions SQL qui nécessitent un réglage. C'est super rapide et super facile.

Comme vous pouvez le constater, j'essaie de trouver les SQL problématiques au fur et à mesure de leur développement, lorsqu'ils sont dans notre système de test et même après leur mise en production.