query_plan_aggregation_in_order
query_plan_enable_optimizations vaut 1.
Il s’agit d’un paramètre réservé aux experts, qui ne doit être utilisé par les développeurs que pour le débogage. Ce paramètre pourra à l’avenir changer de manière non rétrocompatible ou être supprimé.
- 0 - Désactiver
- 1 - Activer
query_plan_convert_any_join_to_semi_or_anti_join
query_plan_convert_join_to_in
JOIN en sous-requête avec IN si les colonnes de sortie sont liées uniquement à la table de gauche. Peut produire des résultats incorrects avec des JOIN autres que ANY JOIN (par ex. ALL JOIN, qui est la valeur par défaut).
query_plan_convert_outer_join_to_inner_join
OUTER JOIN en INNER JOIN si le filtre appliqué après JOIN exclut toujours les valeurs par défaut
query_plan_direct_read_from_text_index
query_plan_display_internal_aliases
query_plan_enable_multithreading_after_window_functions
query_plan_enable_optimizations
Il s’agit d’un paramètre réservé aux experts, qui ne doit être utilisé par les développeurs qu’à des fins de débogage. Ce paramètre pourra évoluer à l’avenir de manière non rétrocompatible, voire être supprimé.
- 0 - Désactiver toutes les optimisations au niveau du plan de requête
- 1 - Activer les optimisations au niveau du plan de requête (mais certaines optimisations peuvent toujours être désactivées via leurs paramètres individuels)
query_plan_execute_functions_after_sorting
query_plan_enable_optimizations est défini sur 1.
Il s’agit d’un paramètre réservé aux experts, qui ne devrait être utilisé par les développeurs qu’à des fins de débogage. Ce paramètre peut, à l’avenir, changer de manière non rétrocompatible ou être supprimé.
- 0 - Désactiver
- 1 - Activer
query_plan_filter_push_down
Il s’agit d’un paramètre réservé aux experts, à utiliser uniquement par les développeurs pour le débogage. Ce paramètre pourra évoluer à l’avenir de manière non rétrocompatible, ou être supprimé.
- 0 - Désactiver
- 1 - Activer
query_plan_join_shard_by_pk_ranges
query_plan_join_swap_table
ALL et la clause JOIN ON. Valeurs possibles :
- ‘auto’ : laisser le planificateur décider quelle table utiliser comme table de build.
- ‘false’ : ne jamais permuter les tables (la table de droite est la table de build).
- ‘true’ : toujours permuter les tables (la table de gauche est la table de build).
query_plan_lift_up_array_join
Il s’agit d’un paramètre réservé aux experts, qui ne doit être utilisé par les développeurs que pour le débogage. Ce paramètre pourra être modifié ultérieurement de manière non rétrocompatible, voire supprimé.
- 0 - Désactiver
- 1 - Activer
query_plan_lift_up_union
query_plan_enable_optimizations vaut 1.
Il s’agit d’un paramètre réservé aux experts qui ne doit être utilisé par les développeurs que pour le débogage. Ce paramètre peut évoluer à l’avenir de manière non rétrocompatible, ou être supprimé.
- 0 - Désactiver
- 1 - Activer
query_plan_max_limit_for_join_lazy_indexing
query_plan_max_limit_for_lazy_materialization
query_plan_max_limit_for_top_k_optimization
query_plan_max_optimizations_to_apply
Il s’agit d’un paramètre réservé aux experts, qui ne doit être utilisé par les développeurs qu’à des fins de débogage. Ce paramètre peut évoluer à l’avenir de manière non rétrocompatible, voire être supprimé.
query_plan_max_set_size_for_projection_match
IN pour lequel le mécanisme de correspondance des projections calcule et compare des hachages de contenu afin de déterminer si deux ensembles sont égaux. Les ensembles plus grands que cette valeur sont considérés comme non correspondants et la projection est ignorée. La valeur zéro désactive entièrement la comparaison par hachage de contenu : une correspondance de projection ne réussit jamais pour les nœuds contenant des ensembles de clause IN.
Utilisé par le mécanisme de correspondance des projections d’agrégation (et par tout futur mécanisme de correspondance des projections devant comparer des ensembles de clause IN). Le calcul du hachage de contenu est en O(N log N) par rapport au nombre d’éléments de l’ensemble ; ce paramètre limite le coût de la planification lorsque de nombreuses clauses IN apparaissent dans la requête ou la projection.
query_plan_max_step_description_length
query_plan_merge_expression_into_join
query_plan_merge_expressions
Il s’agit d’un paramètre réservé aux experts, qui ne devrait être utilisé par les développeurs qu’à des fins de débogage. Ce paramètre pourra à l’avenir évoluer de manière non rétrocompatible ou être supprimé.
- 0 - Désactiver
- 1 - Activer
query_plan_merge_filter_into_join_condition
JOIN et de convertir CROSS JOIN en INNER.
query_plan_merge_filters
query_plan_min_columns_for_join_lazy_indexing
query_plan_optimize_join_order_algorithm
- ‘greedy’ - algorithme glouton de base - est rapide, mais peut ne pas produire le meilleur ordre de jointure
- ‘dpsize’ - implémente l’algorithme DPsize, actuellement uniquement pour les jointures internes - prend en compte tous les ordres de jointure possibles et trouve le plus optimal, mais peut être lent pour les requêtes comportant de nombreuses tables et de nombreux prédicats de jointure.
- ‘dpsub’ - implémente l’algorithme DPsub, qui prend en charge à la fois les jointures internes et les jointures autres qu’internes - prend en compte tous les ordres de jointure possibles et trouve le plus optimal, mais peut être lent pour les requêtes comportant de nombreuses tables et de nombreux prédicats de jointure.
- ‘dphyp’ - implémente l’algorithme DPhyp (Dynamic Programming via Hypergraph Partitioning), actuellement uniquement pour les jointures internes - explore le même espace de recherche que
dpsize, mais n’énumère que les paires de sous-graphes connectés, ce qui génère moins de jointures intermédiaires sur des graphes de jointure clairsemés, au prix de ne pas prendre en compte les produits cartésiens Plusieurs algorithmes peuvent être spécifiés sous forme de liste séparée par des virgules, par exempledphyp,greedy. Ils sont essayés dans l’ordre ; si un algorithme ne peut pas traiter la requête (par exemple, en raison de jointures externes ou de composantes non connexes), le suivant est utilisé comme solution de repli.
query_plan_optimize_join_order_limit
query_plan_optimize_join_order_max_searched_plans
query_plan_optimize_join_order_algorithm.
Cette limite borne de manière déterministe le temps d’optimisation (indépendamment du temps écoulé) sur des graphes de jointures denses, tels que des cliques ou des étoiles, où l’espace de recherche croît exponentiellement.
Définissez cette valeur sur 0 pour désactiver la limite. Cela n’a aucun effet sur la valeur par défaut query_plan_optimize_join_order_limit, pour laquelle la recherche reste toujours bien en deçà de cette limite.
query_plan_optimize_join_order_randomize
query_plan_optimize_lazy_final
query_plan_optimize_lazy_materialization
query_plan_optimize_prewhere
query_plan_push_down_limit
LIMIT vers le bas dans le plan d’exécution.
N’a d’effet que si le paramètre query_plan_enable_optimizations est défini sur 1.
Il s’agit d’un paramètre réservé aux experts, qui ne doit être utilisé par les développeurs qu’à des fins de débogage. Ce paramètre peut à l’avenir évoluer de manière non rétrocompatible, voire être supprimé.
- 0 - Désactiver
- 1 - Activer
query_plan_push_limit_by_into_sort
ORDER BY ... LIMIT BY. Lorsque les colonnes de LIMIT BY sont un préfixe de la clause ORDER BY, chaque flux trié en parallèle applique LIMIT BY avant que les flux ne soient fusionnés en un seul, ce qui réduit le nombre de lignes traitées par la fusion finale et les étapes suivantes du pipeline. Accélère les requêtes dans lesquelles LIMIT BY écarte une grande partie des lignes.
Ne prend effet que si le paramètre query_plan_enable_optimizations vaut 1.
Valeurs possibles :
- 0 - Désactiver
- 1 - Activer
query_plan_read_in_order
query_plan_enable_optimizations est défini sur 1.
Il s’agit d’un paramètre réservé aux experts, qui ne doit être utilisé par les développeurs que pour le débogage. Ce paramètre peut évoluer ultérieurement de manière non rétrocompatible ou être supprimé.
- 0 - Désactiver
- 1 - Activer
query_plan_read_in_order_through_join
query_plan_remove_redundant_distinct
query_plan_enable_optimizations vaut 1.
Il s’agit d’un paramètre réservé aux experts, qui ne doit être utilisé par les développeurs qu’à des fins de débogage. Ce paramètre pourra à l’avenir évoluer de façon non rétrocompatible ou être supprimé.
- 0 - Désactiver
- 1 - Activer
query_plan_remove_redundant_sorting
query_plan_enable_optimizations est défini sur 1.
Il s’agit d’un paramètre réservé aux experts qui ne doit être utilisé par les développeurs qu’à des fins de débogage. Ce paramètre peut évoluer ultérieurement de manière non rétrocompatible, voire être supprimé.
- 0 - Désactiver
- 1 - Activer
query_plan_remove_unused_columns
Il s’agit d’un paramètre réservé aux experts, qui ne doit être utilisé par les développeurs qu’à des fins de débogage. Ce paramètre pourra, à l’avenir, être modifié de manière non rétrocompatible ou supprimé.
- 0 - Désactiver
- 1 - Activer
query_plan_reuse_storage_ordering_for_window_functions
optimize_read_in_window_order
Active ou désactive une optimisation au niveau du plan de requête qui exploite l’ordre de tri du stockage lors du tri pour les fonctions de fenêtre.
Ne prend effet que si le paramètre query_plan_enable_optimizations vaut 1.
Il s’agit d’un paramètre réservé aux experts qui ne doit être utilisé par les développeurs qu’à des fins de débogage. Ce paramètre peut évoluer ultérieurement de façon non rétrocompatible, voire être supprimé.
- 0 - Désactiver
- 1 - Activer
query_plan_split_filter
Il s’agit d’un paramètre réservé aux experts qui ne doit être utilisé par les développeurs que pour le débogage. Ce paramètre peut à l’avenir changer de manière non rétrocompatible ou être supprimé.
- 0 - Désactiver
- 1 - Activer
query_plan_text_index_add_hint
query_plan_top_k_through_join
ORDER BY ... LIMIT n à travers une jointure lorsque la clé de tri ne référence que des colonnes du côté préservé par la jointure (LEFT/RIGHT). Elle limite le nombre de lignes que l’entrée du côté préservé doit produire avant la jointure.
Ne prend effet que si le paramètre query_plan_enable_optimizations vaut 1.
Valeurs possibles :
- 0 - Désactiver
- 1 - Activer
query_plan_try_use_vector_search
query_plan_enable_optimizations vaut 1.
Il s’agit d’un paramètre réservé aux experts, qui ne doit être utilisé par les développeurs que pour le débogage. Ce paramètre peut être modifié ultérieurement de manière non rétrocompatible, voire supprimé.
- 0 - Désactiver
- 1 - Activer