Pourquoi Oracle 11g ne force pas la parallélisation pour les requêtes SQL uniques
Comprendre les complexités du parallélisme Oracle est crucial. Pour optimiser efficacement le parallélisme, cela nécessite une compréhension approfondie d'Oracle, un examen méticuleux des paramètres, des tests de requêtes prolongées et une bonne dose de scepticisme.
Détermination de l'exécution parallèle
Lors du dépannage des problèmes de parallélisme, trois des questions clés se posent :
- Combien de serveurs parallèles ont été demandés ?
- Combien de serveurs parallèles ont été demandés ?
- Combien des serveurs parallèles ont été alloués ?
Combien de serveurs parallèles ont été utilisés efficacement ?
Utilisation de SQL Monitoring
SELECT DBMS_SQLTUNE.REPORT_SQL_MONITOR(SQL_ID => 'YOUR_SQL_ID', TYPE => 'ACTIVE') FROM DUAL;
Pour répondre efficacement à ces questions, utilisez SQL Monitoring avec des rapports actifs. Utilisez la requête suivante pour générer un rapport HTML :
Ce rapport fournit des informations détaillées sur le temps consacré à chaque étape du plan d'exécution, y compris l'étendue du parallélisme utilisé.
Évaluer le résultat du plan Explain
Le résultat EXPLAIN PLAN fournit également des informations précieuses. La section Notes peut révéler pourquoi la requête n'a pas demandé de parallélisme. Recherchez les notes indiquant les limitations ou les astuces qui pourraient entraver la parallélisation.
Comprendre les facteurs influençant l'allocation des serveurs parallèles
Le nombre de serveurs parallèles alloués est influencé par une myriade de facteurs, les plus importants étant : Indice de requête :- Utilisez /* PARALLEL */ ou /* PARALLEL(DOP) */ astuces pour forcer le parallélisme.
Parallélisme inter-opérations :- Les opérations de tri ou de regroupement peuvent doubler le nombre de serveurs parallèles alloués.
SQL récursif :- Les opérations SQL récursives peuvent sérialiser l'exécution parallèle.
Table et index degré :
Des valeurs de degré plus élevées peuvent augmenter le parallélisme.
Autres paramètres de configuration pertinents
Au-delà des conseils et de l'analyse du plan d'exécution, tenez compte de ces paramètres système qui peuvent avoir un impact sur le parallélisme :-
- PARALLEL_DEGREE_LIMIT et PARALLEL_DEGREE_POLICY définissent les limites et les politiques pour les diplômes parallèles allocation.
- PARALLEL_AUTOMATIC_TUNING ajuste automatiquement le parallélisme en fonction de la charge du système.
PARALLEL_THREADS_PER_CPU et CPU_COUNT influencent le nombre de serveurs parallèles alloués par CPU.
Conclusion
Le parallélisme Oracle est un outil puissant, mais son optimisation nécessite une prise en compte attentive de nombreux facteurs et une compréhension approfondie du moteur d'exécution d'Oracle. En tirant parti des outils disponibles, en examinant les paramètres du système et en résolvant des problèmes spécifiques de plan d'exécution, vous pouvez utiliser efficacement le parallélisme dans Oracle 11g pour améliorer les performances des requêtes.
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!