Exploration des limites des requêtes parallèles d'Oracle 11g
En ce qui concerne votre problème d'Oracle 11g n'utilisant pas plusieurs processeurs pour une requête SQL spécifique, il est crucial de comprendre les subtilités du parallélisme Oracle. L'optimisation de cela nécessite des connaissances approfondies et une analyse minutieuse de divers facteurs.
Enquête appropriée
Lors du dépannage du parallélisme, considérez les questions suivantes :
- Combien de serveurs parallèles ont été demandés ?
- Combien de serveurs parallèles ont été alloués ?
- Combien les serveurs parallèles ont-ils été utilisés efficacement ?
Outils efficaces
-
Surveillance SQL avec rapports actifs : Fournit des informations détaillées sur chaque exécution étape, révélant l'utilisation du parallélisme et les goulots d'étranglement potentiels.
-
expliquez le plan pour... et sélectionnez * dans table(dbms_xplan.display);::Analyse le plan de requête et inclut des notes expliquant pourquoi le parallélisme n'a peut-être pas été appliqué.
Facteurs influençant le parallélisme
De nombreux facteurs déterminent le nombre de serveurs parallèles alloués, notamment :
- Parallélisme inter-opérations (par exemple, tri, regroupement)
- Conseils de requête
- SQL récursif
- Modifier les paramètres de session
- Tableau et degré d'index
- Coût de l'optimiseur considérations
- Mécanismes de gestion du plan
- Édition et licences Oracle
- Paramètres système (par exemple, PARALLEL_ADAPTIVE_MULTI_USER, PARALLEL_DEGREE_LIMIT)
- Nombre de processeurs et charge du système
- MLD parallèle restrictions
- Bogues et problèmes d'analyse
Méthodes de dépannage
Pour résoudre votre requête spécifique, essayez ce qui suit :
-
Vérifiez les notes du plan d'explication : Recherchez les raisons pour lesquelles le parallélisme n'a pas été demandé.
-
Analyser les rapports de surveillance SQL : Identifiez les étapes lentes et l'utilisation du parallélisme.
-
Ajustez les paramètres système : Envisagez de modifier des paramètres tels que PARALLEL_DEGREE_LIMIT et PARALLEL_MIN_SERVERS.
-
Activer le parallèle Astuces : Demandez explicitement le parallélisme à l'aide d'astuces au niveau de l'instruction ou de l'objet.
-
Exclure les objets non parallèles : Utilisez des astuces noparallèles au niveau de l'objet pour forcer l'exécution en série pour des tables spécifiques.
-
Vérifiez les restrictions DML parallèles : Assurez-vous que votre requête ne violer l'une des limitations du DML parallèle.
N'oubliez pas que le parallélisme est une fonctionnalité nuancée et nécessite une enquête et une compréhension approfondies pour une optimisation efficace.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!