Toggle navigation
Type: integer
Défaut: 8
Min: 1
Max: 2147483647
Contexte: user
Redémarrer: false

Le planificateur réécrit les constructions JOIN explicites (à l'exception de FULL JOIN) en une liste d'éléments FROM à chaque fois qu'il n'en résulte qu'une liste ne contenant pas plus de ce nombre d'éléments. Des valeurs faibles réduisent le temps de planification mais conduisent à des plans de requêtes inférieurs.

Par défaut, cette variable a la même valeur que from_collapse_limit, valeur adaptée à la plupart des utilisations. Configurer cette variable à 1 empêche le réordonnancement des JOINtures explicites. De ce fait, l'ordre des jointures explicites indiqué dans la requête est l'ordre réel dans lequel les relations sont jointes. Le planificateur de la requête ne choisit pas toujours l'ordre de jointure optimal ; les utilisateurs aguerris peuvent choisir d'initialiser temporairement cette variable à 1 et d'indiquer explicitement l'ordre de jointure souhaité. Pour plus d'informations, voir explicit-joins.

Configurer cette valeur à geqo_threshold ou plus pourrait déclencher l'utilisation du planificateur GEQO, ce qui pourrait aboutir à la génération de plans non optimaux. Voir runtime-config-query-geqo.

Recommandations [EN]

If for some reason you wanted to explicitly declare the join order for all of your queries, you could set this to 1. That is not recommended, though.

Commentaires