0
votes

Oracle SQL - Est-ce que l'ordonnance de participation dans une optimisation des performances de la clause d'impact?

Il y a longtemps, j'ai été informé lors d'un parcours SQL que l'ordre de jointure dans une clause d'une requête peut avoir une incidence sur la performance de la requête. Donc, par exemple, si j'avais le suivant

SELECT * FROM 
TABLE_3 INNER JOIN --50 rows
TABLE_2 ON TABLE_2.COL1=TABLE_3.COL1 INNER JOIN --200 rows
TABLE_1 ON TABLE_1.COL1=TABLE_2.COL1 --5000 rows
.....


0 commentaires

3 Réponses :


0
votes

Est-ce que la commande de jointure sans utiliser de principe dans une déclaration SQL?

Non. C'est l'optimisation de base pour la base de données; L'optimiseur décidera de quelle est la meilleure stratégie pour rejoindre les tables, quelle que soit la commande dans laquelle ils apparaissent dans la clause de .


0 commentaires

1
votes

Exactement, un il y a longtemps il y avait un impact, lorsque RBO (optimiseur basé sur des règles) a été utilisé.

Dans les versions modernes Oracle, CBO (optimiseur basé sur le coût) choisit le meilleur plan d'exécution et que sale travail pour vous - non, vous n'avez plus besoin de réorganiser des tables.


0 commentaires

0
votes

Le composant Oracle Optimizer "Transformateur de requête" Transformez votre requête, cela le fait automatiquement si nécessaire avec les statistiques à la disposition des statistiques. Quand il trouve votre pour être transformé.


0 commentaires