Comment puis-je vérifier l'exécution de la requête depuis longtemps & étapes de réglage de la requête? (Oracle)Réglage des performances
Répondre
- Exécutez
explain plan for select ....
pour voir ce que Oracle fait avec votre requête. - Publiez votre requête ici afin que nous puissions la voir et vous aider.
- Consultez le Oracle Performance Tuning FAQ pour obtenir quelques astuces, si vous préférez.
Vous pouvez capturer la requête en sélectionnant v $ sql ou v $ sqltext. Si vous ne le connaissez pas, recherchez «Expliquer le plan» dans la documentation Oracle . Il devrait y avoir beaucoup sur le guide d'optimisation des performances . Jetez un oeil à Crapaud Quest Software pour un outil tiers qui aide également dans ce domaine.
K
Malheureusement votre question n'est pas clairement exprimée. Les autres réponses ont déjà abordé la question de l'ajustement d'une mauvaise requête connue, mais une autre interprétation est que vous voulez surveiller votre base de données pour trouver des requêtes peu performantes. Si vous ne possédez pas Enterprise Edition avec le pack Diagnostics - et ce n'est pas le cas pour beaucoup d'entre nous -, le mieux est de lancer des snapshots de statspack sur une base régulière. Cela vous donnera beaucoup d'informations sur votre système, y compris les requêtes qui prennent beaucoup de temps à compléter et quelles requêtes consomment beaucoup de ressources de votre système. Vous pouvez en savoir plus sur statspack here.
Si vous ne souhaitez pas utiliser l'OEM, vous pouvez effectuer une recherche et une recherche.
Commencez par trouver la requête longue. S'il est en cours d'exécution, vous pouvez rejoindre la session gv $ pour trouver la session en cours depuis longtemps. Ensuite, allez à gv $ sql pour trouver les détails SQL. Vous devez regarder la colonne last_call_et. Si SQL exécuté quelque temps inpast, vous pouvez utiliser les tables dba_hist_snapshot, dba_hist_sqlstat, DBA_HIST_SQLTEXT pour trouver SQL offensant. Une fois que vous obtenez une requête, vous pouvez vérifier quel plan il choisit à partir de la table dba_hist_sql_plan si ce SQL est exécuté dans le passé ou depuis gv $ sql_plan s'il est en cours d'exécution.
Maintenant, vous analysez le plan d'exécution et voyez s'il utilise l'index, la jointure, etc. Si ce n'est pas le cas.
Faites-moi savoir à quelle étape vous avez le problème. Je peux vous aider à y répondre.
- 1. Service de réglage des performances WCF
- 2. Réglage des performances dans l'application Cocoa
- 3. Réglage des données FoxPro
- 4. Réglage des couleurs dans SWT
- 5. Optimisation des performances, WebApplication
- 6. Amélioration des performances WCF
- 7. Amélioration des performances cURL (PHP Library)
- 8. http_proxy réglage
- 9. Réglage des polices par défaut en C#
- 10. jQuery: Réglage des fonctions par page
- 11. Optimisation des performances de Lucene
- 12. Améliorations des performances C++ 0x
- 13. Ralentissement des performances de SqlDataReader
- 14. Suivi des performances dans C#
- 15. Comment tester les performances des procédures stockées Sybase imbriquées?
- 16. Réglage DragDrop Format SelectionData
- 17. Oracle matérialisé vue réglage
- 18. Réglage de l'index pour les tâches SSIS
- 19. ralentissement des performances lors de l'utilisation Unicode
- 20. Surveillance des performances dans l'application Silverlight 2.0
- 21. PowerShell: Performances des appels de méthodes .NET
- 22. Comparaison des performances de la boucle DataTable
- 23. WPF VirtualizingStackPanel pour des performances accrues
- 24. Analyse comparative des performances pour Apache Nutch
- 25. Comparaison des performances Drupal vs WordPress
- 26. Optimisation des performances d'un site Web ASP.NET
- 27. SQL Server: Comparaison des performances de l'index
- 28. PROCÉDURE STOCKÉE Calculs et améliorations des performances
- 29. Dégradation des performances de l'API CreateFile
- 30. Performances des requêtes Microsoft Sync Framework