Tous les produits
Search
Centre de documentation

ApsaraDB for SelectDB:Gestion des variables

Dernière mise à jour :Aug 24, 2026

Les variables d'ApsaraDB for SelectDB contrôlent le comportement des requêtes, les paramètres de session et la configuration à l'échelle du cluster. Elles se divisent en deux catégories : celles spécifiques à ApsaraDB for SelectDB et celles compatibles avec le protocole client MySQL.

Fonctionnement des variables

Les variables peuvent être définies à deux niveaux :

  • Niveau Session : S'applique uniquement à la connexion actuelle. Les paramètres sont réinitialisés à la fin de la session.

  • Niveau Global : S'applique à la session actuelle ainsi qu'à toutes les sessions suivantes. Seul l'utilisateur admin est autorisé à définir les variables globales.

Lorsque plusieurs niveaux sont configurés, les paramètres s'appliquent selon l'ordre de priorité suivant (du plus élevé au plus faible) :

  1. Variables de session

  2. Propriétés utilisateur

  3. Variables globales

  4. Valeurs par défaut

Si un paramètre de priorité supérieure n'est pas configuré, le niveau suivant s'applique automatiquement.

Consulter les variables

Exécutez SHOW VARIABLES pour lister toutes les variables et leurs valeurs actuelles :

SHOW VARIABLES;

Pour filtrer selon un modèle de nom :

SHOW VARIABLES LIKE '%time_zone%';

Définir les variables

Définir une variable de session

Les variables de session prennent effet immédiatement et s'appliquent uniquement à la connexion actuelle :

SET exec_mem_limit = 137438953472;
SET forward_to_master = true;
SET time_zone = "Asia/Shanghai";

Les variables acceptent également les expressions constantes :

SET exec_mem_limit = 10 * 1024 * 1024 * 1024;
SET forward_to_master = concat('tr', 'u', 'e');

Définir une variable globale

Les variables globales s'appliquent à la session actuelle ainsi qu'à toutes les sessions suivantes :

SET GLOBAL exec_mem_limit = 137438953472;
Important

Seul l'utilisateur admin peut définir les variables globales.

Les variables suivantes prennent en charge à la fois les niveaux session et global :

  • time_zone

  • wait_timeout

  • sql_mode

  • enable_profile

  • query_timeout

  • insert_timeout

  • exec_mem_limit

  • batch_size

  • allow_partition_column_nullable

  • insert_visible_timeout_ms

  • enable_fold_constant_by_be

Les variables suivantes prennent en charge uniquement le niveau global :

  • default_rowset_type

  • default_password_lifetime

  • password_history

  • validate_password_policy

Remplacer une variable pour une seule requête

Utilisez l'indicateur SET_VAR pour définir une variable de session pour une instruction unique sans modifier l'état de la session :

SELECT /*+ SET_VAR(exec_mem_limit = 8589934592) */ name FROM people ORDER BY name;
SELECT /*+ SET_VAR(query_timeout = 1, enable_partition_cache=true) */ sleep(3);
Les commentaires doivent commencer par /*+ et suivre l'instruction SELECT.

Variables de fuseau horaire

ApsaraDB for SelectDB propose deux variables de fuseau horaire :

Variable Description Modifiable
system_time_zone Fuseau horaire système du cluster. Défini automatiquement au démarrage du serveur, en fonction du fuseau horaire du système d'exploitation du serveur. Non
time_zone Fuseau horaire actuel du cluster. Affecte les fonctions temporelles et les données importées comportant des décalages de fuseau horaire. Oui

Consulter et définir les variables de fuseau horaire

Pour afficher les deux variables de fuseau horaire :

SHOW VARIABLES LIKE '%time_zone%';

Pour définir le fuseau horaire de la session :

SET time_zone = 'Asia/Shanghai';

Pour définir le fuseau horaire du cluster pour toutes les sessions suivantes :

SET GLOBAL time_zone = 'Asia/Shanghai';

Formats de fuseau horaire pris en charge

Type de format Exemples
Nommé (base de données IANA tz) Asia/Shanghai, America/Los_Angeles
Décalage UTC +02:30, -10:00
Abréviations GMT, UTC (équivalent à +00:00) ; CST (équivalent à Asia/Shanghai)
Zulu Z (équivalent à +00:00)
Certaines méthodes d'importation de données peuvent accepter des formats de fuseau horaire supplémentaires non répertoriés ci-dessus. Évitez d'utiliser des formats non standard en production, car ApsaraDB for SelectDB peut modifier leur gestion à tout moment.

Impact des paramètres de fuseau horaire sur les fonctions et les données

Fonctions concernées

Les fonctions suivantes renvoient des résultats basés sur le paramètre time_zone actuel :

Fonction Comportement
FROM_UNIXTIME Convertit un horodatage UTC en date et heure selon le fuseau horaire configuré. Avec CST, FROM_UNIXTIME(0) renvoie 1970-01-01 08:00:00.
UNIX_TIMESTAMP Convertit une date et une heure en horodatage UTC. Avec CST, UNIX_TIMESTAMP('1970-01-01 08:00:00') renvoie 0.
CURTIME Renvoie l'heure actuelle selon le fuseau horaire configuré.
NOW Renvoie la date et l'heure actuelles selon le fuseau horaire configuré.
CONVERT_TZ Convertit une date et une heure d'un fuseau horaire à un autre.

La sortie des commandes SHOW LOAD et SHOW BACKENDS reflète également le fuseau horaire configuré.

Non affecté par les paramètres de fuseau horaire :

  • Les valeurs less than des colonnes de clé de partition de type temporel dans CREATE TABLE

  • Les valeurs stockées sous le type DATE ou DATETIME (la valeur stockée elle-même ne change pas)

Données de type temporel lors de l'importation

Lors de l'importation de données de type DATE, DATEV2, DATETIME ou DATETIMEV2, ApsaraDB for SelectDB gère la conversion de fuseau horaire comme suit :

  • Données avec un suffixe de fuseau horaire (par exemple, 2020-12-12 12:12:12+08:00) : Converties vers le time_zone actuel du cluster. Par exemple, si time_zone est défini sur +00:00, la valeur stockée devient 2020-12-12 04:12:12.

  • Données sans suffixe de fuseau horaire (par exemple, 2020-12-12 12:12:12) : Traitées comme une heure absolue — importées telles quelles sans conversion.

Heure d'été

Les ajustements liés à l'heure d'été sont intégrés aux fuseaux horaires nommés. Par exemple, America/Los_Angeles passe de -08:00 à -07:00 en mars, puis revient en novembre.

Pour éviter les changements liés à l'heure d'été, définissez time_zone sur un décalage UTC fixe (par exemple, -08:00) plutôt que sur un fuseau nommé comme America/Los_Angeles.

Sources de données de fuseau horaire

Sur chaque nœud backend (BE), ApsaraDB for SelectDB recherche les données de fuseau horaire aux emplacements suivants, dans l'ordre :

  1. Le répertoire renvoyé par la commande TZDIR

  2. /usr/share/zoneinfo

  3. Le répertoire zoneinfo dans le répertoire de déploiement du BE

Si aucune donnée de fuseau horaire n'est trouvée à aucun emplacement, le nœud BE ne démarre pas.

Bonnes pratiques

Données sensibles au fuseau horaire

Avant d'importer des données, décidez comment gérer les informations de fuseau horaire de manière cohérente. Les données de types temporels tels que DATETIME ne stockent pas de fuseau horaire. ApsaraDB for SelectDB distingue deux catégories :

Heure absolue : Aucun fuseau horaire dans les données, aucun fuseau horaire configuré au moment de l'importation. Exemple : 2023-12-12 08:00:00. Stockée et interrogée telle quelle, sans être affectée par time_zone.

Heure dans un fuseau horaire spécifique : Les données incluent un suffixe de fuseau horaire. Exemple : 2020-12-12 12:12:12+02:00. La méthode d'importation détermine quel paramètre de fuseau horaire s'applique :

  • INSERT INTO : Régie par la variable de session time_zone.

  • Stream Load ou Broker Load : Régis par l'en-tête de requête timezone. Si l'en-tête timezone entre en conflit avec la variable de session time_zone, l'en-tête timezone a la priorité.

ApsaraDB for SelectDB convertit le fuseau horaire littéral présent dans les données entrantes vers le fuseau horaire configuré par time_zone au moment de l'importation.

Approche recommandée : Définissez time_zone une fois avant l'importation, puis maintenez-le constant. Modifier time_zone après avoir importé des données conscientes du fuseau horaire entraîne une interprétation erronée des valeurs stockées lors des requêtes suivantes.

L'exemple suivant illustre ce qui se produit lorsque time_zone est modifié en cours de session :

-- Current time zone: Asia/Hong_Kong
SELECT @@time_zone;
-- +----------------+
-- | @@time_zone    |
-- +----------------+
-- | Asia/Hong_Kong |
-- +----------------+

-- Import data with literal time zone +02:00
-- Stored as 2020-12-12 18:12:12 (converted to Asia/Hong_Kong)
INSERT INTO dtv23 VALUES('2020-12-12 12:12:12+02:00');

SELECT * FROM dtv23;
-- +-------------------------+
-- | k0                      |
-- +-------------------------+
-- | 2020-12-12 18:12:12.000 |
-- +-------------------------+

-- Changing time_zone does not update stored values
SET time_zone = 'America/Los_Angeles';

-- A second import now uses America/Los_Angeles for conversion
INSERT INTO dtv23 VALUES('2020-12-12 12:12:12+02:00');

SELECT * FROM dtv23;
-- Rows now carry inconsistent time zone semantics
-- +-------------------------+
-- | k0                      |
-- +-------------------------+
-- | 2020-12-12 02:12:12.000 |  -- imported under America/Los_Angeles
-- | 2020-12-12 18:12:12.000 |  -- imported under Asia/Hong_Kong
-- +-------------------------+

Résumé des bonnes pratiques relatives au fuseau horaire :

  • Vérifiez le time_zone du cluster avant d'importer les données et ne le modifiez pas par la suite.

  • Lors de l'utilisation de Stream Load ou Broker Load, définissez l'en-tête timezone sur la même valeur que la variable de session time_zone.

  • Pour les données d'heure absolue, importez sans suffixe de fuseau horaire. Pour les données conscientes du fuseau horaire, incluez le suffixe de fuseau horaire et laissez ApsaraDB for SelectDB gérer la conversion.

Précision de l'heure d'été

Les données de fuseau horaire nommé (y compris les dates de début et de fin de l'heure d'été) sont maintenues par l'Internet Assigned Numbers Authority (IANA). Les données stockées sur chaque nœud BE peuvent ne pas refléter les modifications les plus récentes confirmées par l'IANA pour l'année en cours.

Si votre charge de travail nécessite le calendrier d'heure d'été le plus récent, assurez-vous que la source de données de fuseau horaire sur chaque nœud BE contient la dernière version de la base de données IANA tz. Pour obtenir les dernières données, consultez The tz-announce Archives.

Paramètres de délai d'expiration

ApsaraDB for SelectDB prend en charge la configuration des délais d'expiration à plusieurs niveaux à l'aide des variables query_timeout et insert_timeout ainsi que des propriétés utilisateur.

Priority order (highest to lowest): Variables de session > Propriétés utilisateur > Variables globales > Valeurs par défaut

Variable Niveau Par défaut Description
query_timeout Session, Global, Propriété utilisateur 900 s (15 min) Contrôle le délai d'expiration pour toutes les instructions de requête.
insert_timeout Session, Global, Propriété utilisateur 14400 s (4 h) Contrôle spécifiquement le délai d'expiration pour les instructions INSERT. Lors de l'exécution d'une instruction INSERT, c'est la valeur la plus longue entre query_timeout et insert_timeout qui s'applique.

Propriétés utilisateur pour le délai d'expiration :

  • Les propriétés utilisateur query_timeout et insert_timeout ne peuvent être définies que par l'utilisateur admin pour un utilisateur spécifique.

  • Ces propriétés n'ont pas de sémantique de quota — elles modifient le délai d'expiration par défaut pour l'utilisateur spécifié.

  • Les modifications apportées aux propriétés utilisateur prennent effet après la reconnexion du client.

Annexe

Variables prises en charge

Variables booléennes

Les variables booléennes activent ou désactivent une fonctionnalité. Valeurs valides : true et false.

Variable Par défaut Description
delete_without_partition false Lorsque la valeur est true, une instruction DELETE sans clause de partition s'applique automatiquement à toutes les partitions. Cela prolonge la durée de l'opération DELETE et génère un grand nombre de tâches. Laissez cette option désactivée sauf si nécessaire.
disable_colocate_join false Lorsque la valeur est true, désactive la fonctionnalité Colocation Join. Le plan d'exécution n'essaie pas d'effectuer des opérations Colocation Join.
enable_bucket_shuffle_join true Lorsque la valeur est false, désactive la fonctionnalité Bucket Shuffle Join. Le plan d'exécution n'essaie pas d'effectuer des opérations Bucket Shuffle Join.
disable_streaming_preaggregations false Lorsque la valeur est true, désactive la pré-agrégation en flux continu. Cette variable ne peut pas être modifiée.
enable_insert_strict false Lorsque la valeur est true, active le mode strict pour les importations de données via l'instruction INSERT.
enable_spilling false Lorsque la valeur est true, active le tri sur disque pour les grands ensembles de données. Les données temporaires sont écrites dans le répertoire doris-scratch/ sur le BE et supprimées une fois la requête terminée. Cette fonctionnalité est expérimentale — ne l'activez pas en production.
forward_to_master true Lorsque la valeur est true, transfère certaines instructions SHOW vers le nœud FE maître pour exécution. Le nœud FE maître renvoie des informations plus détaillées pour SHOW FRONTENDS, SHOW BACKENDS, SHOW BROKER, SHOW TABLET, SHOW REPLICA DISTRIBUTION, SHOW REPLICA STATUS et SHOW PROC.
enable_profile false Lorsque la valeur est true, envoie le profil de requête au FE après chaque requête. Consultez les profils à l'adresse fe_host:fe_http_port/query. La page affiche les 100 requêtes les plus récentes après l'activation de cette variable.
rewrite_count_distinct_to_bitmap_hll true Lorsque la valeur est true, remplace COUNT DISTINCT par BITMAP_UNION_COUNT ou HLL_UNION_AGG pour les données bitmap ou HyperLogLog (HLL).
allow_partition_column_nullable true Lorsque la valeur est true, les colonnes de clé de partition peuvent être définies comme NULL. Lorsque la valeur est false, les colonnes de clé de partition doivent être NOT NULL.
enable_exchange_node_parallel_merge false Lorsque la valeur est true, le nœud d'échange utilise plusieurs threads pour fusionner les données triées en parallèle, réduisant ainsi les goulets d'étranglement liés à la fusion monothread lors des grandes opérations de tri.
extract_wide_range_expr false Lorsque la valeur est true, active l'extraction de facteurs communs étendus.
enable_fold_constant_by_be false Lorsque la valeur est true, le pliage de constantes est effectué sur le BE via des appels de procédure distante (RPC). Lorsque la valeur est false, le pliage de constantes s'exécute sur le FE.
disable_join_reorder false Lorsque la valeur est true, désactive tous les algorithmes automatiques de réorganisation des jointures (Join Reorder). Les opérations JOIN suivent l'ordre des tables dans l'instruction SQL.
enable_infer_predicate true Lorsque la valeur est true, active la dérivation de prédicats. Lorsque la valeur est false, ApsaraDB for SelectDB utilise le prédicat original sans dérivation.
trim_tailing_spaces_for_external_table_query false Lorsque la valeur est true, supprime les espaces de fin des champs lors de l'interrogation des tables externes Hive.
enable_inverted_index_query true Lorsque la valeur est true, les index inversés sont utilisés dans les requêtes.
skip_missing_version false Lorsque la valeur est true, les requêtes ignorent la version visible enregistrée sur le FE et utilisent la version du réplica BE à la place, en ignorant les versions manquantes. À utiliser uniquement dans les scénarios de récupération d'urgence des données. Cette variable prend effet uniquement lorsque use_fix_replica est défini sur -1.
enable_parquet_lazy_materialization true Lorsque la valeur est true, active la matérialisation tardive pour Parquet Reader.
enable_orc_lazy_materialization true Lorsque la valeur est true, active la matérialisation tardive pour ORC Reader.
enable_strong_consistency_read true Lorsque la valeur est true, active la forte cohérence pour les lectures de données entre les sessions. Par défaut, la forte cohérence est maintenue uniquement au sein de la même session. Si vous souhaitez activer la forte cohérence pour les lectures de données entre les sessions, définissez cette variable sur true.
truncate_char_or_varchar_columns false Lorsque la valeur est true, tronque les colonnes CHAR et VARCHAR à la longueur maximale définie dans le schéma de la table, même si le fichier Parquet ou ORC sous-jacent utilise une longueur différente.
jdbc_clickhouse_query_final false Lorsque la valeur est true, ajoute le mot-clé FINAL aux requêtes ClickHouse effectuées via la fonctionnalité JDBC Catalog, pour la déduplication avec le moteur de table ReplacingMergeTree.
enable_memtable_on_sink_node false Lorsque la valeur est true, crée une table en mémoire sur le nœud Data Sink lors de l'importation et envoie les segments aux autres nœuds BE via le streaming bRPC, réduisant ainsi le travail redondant entre les réplicas.
enable_unique_key_partial_update false Lorsque la valeur est true, active la sémantique de mise à jour partielle des colonnes pour INSERT INTO sur les tables du modèle Unique Key utilisant le mode Merge on Write (MOW). Si enable_unique_key_partial_update et enable_insert_strict sont tous deux définis sur true, INSERT INTO ne peut mettre à jour que les lignes existantes. Pour insérer de nouvelles lignes avec des mises à jour partielles des colonnes, définissez enable_unique_key_partial_update sur true et enable_insert_strict sur false.
describe_extend_variant_column false Lorsque la valeur est true, affiche les sous-colonnes pour les colonnes de type VARIANT dans la sortie de DESCRIBE.
dry_run_query false Lorsque la valeur est true, renvoie uniquement le nombre de lignes au lieu du jeu de résultats réel. Le nœud Data Sink supprime les données au lieu de les écrire. Utile pour tester de grands ensembles de données sans la surcharge liée à la transmission des résultats.
drop_table_if_ctas_failed true Lorsque la valeur est true, supprime la table créée si CREATE TABLE AS SELECT échoue en raison d'une erreur d'écriture.
show_user_default_role false Lorsque la valeur est true, inclut le rôle implicite de chaque utilisateur dans la sortie de SHOW ROLES.
group_by_and_having_use_alias_first false Lorsque la valeur est true, les clauses GROUP BY et HAVING résolvent les alias de colonne avant de rechercher dans la clause FROM.
enable_file_cache false Lorsque la valeur est true, active le cache de fichiers blocs. Cette variable prend effet uniquement si enable_file_cache=true est également défini dans le fichier be.conf du BE.
enable_auto_analyze true Lorsque la valeur est true, active la collecte automatique des statistiques.
enable_cost_based_join_reorder false Lorsque la valeur est true, active la réorganisation des jointures basée sur le coût pour ajuster automatiquement l'ordre des tables dans les opérations JOIN.
enable_fallback_to_original_planner false Lorsque la valeur est true, revient automatiquement à l'optimiseur d'origine lorsque le nouvel optimiseur rencontre des scénarios non pris en charge.
enable_odbc_transcation false Lorsque la valeur est true, active la prise en charge des transactions pour l'écriture de données dans un JDBC Catalog.
enable_parallel_outfile false Lorsque la valeur est true, active l'analyse parallèle pour SELECT INTO OUTFILE.
enable_sql_cache false Lorsque la valeur est true, active la mise en cache des résultats des instructions SQL.
enable_unicode_name_support false Lorsque la valeur est true, prend en charge les noms de table et de colonne contenant des caractères Unicode (y compris le chinois).
enable_vectorized_engine true Lorsque la valeur est true, active le moteur vectorisé pour accélérer les requêtes.
experimental_enable_nereids_planner true Lorsque la valeur est true, active le nouvel optimiseur (Nereids). Cette fonctionnalité est expérimentale.
experimental_enable_pipeline_engine true Lorsque la valeur est true, active le moteur d'exécution Pipeline. Cette fonctionnalité est expérimentale.
experimental_enable_single_replica_insert false Lorsque la valeur est true, sélectionne un réplica comme principal pour l'importation des données. Les autres réplicas extraient les fichiers de données depuis le principal une fois l'écriture terminée, réduisant ainsi le calcul redondant entre les réplicas.
faster_float_convert false Lorsque la valeur est true, utilise un algorithme de conversion de nombres à virgule flottante plus rapide. Notez que cet algorithme peut modifier le format de sortie.
enable_page_cache true Lorsque la valeur est true, active le cache au niveau des pages.
strict_mode false Lorsque la valeur est true, active le mode strict pour l'importation de données.

Variables de configuration

Les variables de configuration acceptent une plage de valeurs au-delà d'un simple true/false.

Variable Par défaut Description
auto_broadcast_join_threshold 0.8 Le ratio maximal de la mémoire de la table de hachage par rapport à la mémoire d'exécution globale autorisé pour Broadcast Join. Lorsque la table de hachage dépasse ce ratio, ApsaraDB for SelectDB bascule vers Shuffle Join. Définissez sur -1 pour désactiver complètement la diffusion. Utilisez un indicateur de requête tel que join[shuffle] pour contrôler explicitement la méthode de jointure.
batch_size 1024 Le nombre de lignes par paquet transmis entre les nœuds lors d'une requête. Des valeurs plus élevées augmentent le débit pour les analyses volumineuses, mais peuvent accroître la latence et l'utilisation de la mémoire pour les petites requêtes. Plage recommandée : 1024–4096.
default_order_by_limit -1 Le nombre par défaut de lignes renvoyées après ORDER BY. -1 signifie aucune limite (jusqu'à la valeur maximale LONG).
exec_mem_limit 2 GB La mémoire maximale pour une seule requête. Accepte les unités : octets (par défaut), KB, MB, GB, TB, PB. Limite la mémoire par instance de fragment — et non la mémoire totale de la requête à travers le cluster. Si une erreur Memory Exceed Limit se produit, augmentez cette valeur de manière exponentielle (4 GB, 8 GB, 16 GB).
lower_case_table_names 0 Contrôle la sensibilité à la casse des noms de table. 0 : Sensible à la casse. 1 : Insensible à la casse ; les noms sont stockés et comparés en minuscules. 2 : Insensible à la casse ; les noms sont stockés tels que spécifiés dans CREATE TABLE mais comparés en minuscules. Doit être défini dans fe.conf lors de l'initialisation du cluster et ne peut pas être modifié par la suite avec SET.
max_pushdown_conditions_per_column -1 Le nombre maximal de conditions de prédicat poussées vers le moteur de stockage par colonne. -1 utilise la valeur de be.conf. Une valeur positive remplace be.conf pour la session actuelle.
max_scan_key_num -1 Le nombre maximal de clés d'analyse qu'un nœud d'analyse peut diviser par requête. -1 utilise la valeur de be.conf. Une valeur positive remplace be.conf pour la session actuelle.
parallel_exchange_instance_num -1 Le nombre de nœuds d'échange qu'un nœud amont utilise pour recevoir des données des nœuds aval. -1 correspond au nombre d'instances aval. Une valeur positive inférieure au nombre d'instances aval limite le nombre de nœuds d'échange, ce qui est utile pour réduire la surcharge dans les requêtes d'agrégation avec une petite sortie agrégée.
analyze_timeout 43200 s Le délai d'expiration pour les instructions ANALYZE, en secondes.
auto_analyze_end_time L'heure de fin de la fenêtre de collecte automatique des statistiques.
auto_analyze_start_time L'heure de début de la fenêtre de collecte automatique des statistiques.
auto_analyze_table_width_threshold 70 Les tables comportant plus de colonnes que ce seuil sont exclues de la collecte automatique des statistiques.
div_precision_increment 4 Le nombre de décimales supplémentaires ajoutées au résultat des opérations de division /.
external_agg_bytes_threshold Le seuil de mémoire pour les opérations d'agrégation. Lorsqu'il est dépassé, les données en mémoire sont vidées sur le disque.
external_sort_bytes_threshold Le seuil de mémoire pour les opérations de tri. Lorsqu'il est dépassé, les données en mémoire sont vidées sur le disque.
external_table_auto_analyze_interval_in_millis 86400000 ms L'intervalle minimal entre les collectes automatiques de statistiques pour les tables externes.
fragment_transmission_compression_codec lz4 Le format de compression utilisé lors de la transmission des données entre les nœuds.
huge_table_auto_analyze_interval_in_millis 0 L'intervalle minimal entre les collectes automatiques de statistiques pour les grandes tables (plus de 5 fois la taille spécifiée par huge_table_lower_bound_size_in_bytes).
huge_table_default_sample_rows 4194304 Le nombre de lignes échantillonnées pour les grandes tables lors de la collecte automatique des statistiques.
huge_table_lower_bound_size_in_bytes 0 Les tables plus grandes que ce seuil sont échantillonnées lors de la collecte automatique des statistiques.
ignore_runtime_filter_ids (vide) IDs de filtre d'exécution à ignorer.
max_filter_ratio 0 Le ratio maximal de lignes pouvant être filtrées lors de l'importation (par exemple, les lignes qui échouent à la validation).
max_instance_num 64 Le nombre maximal de tâches Pipeline concurrentes par requête SQL lorsque parallel_pipeline_task_num n'est pas défini.
parallel_pipeline_task_num 0 Le nombre de tâches Pipeline concurrentes par requête SQL. Lorsque la valeur est 0, ApsaraDB for SelectDB définit ce paramètre sur la moitié du nombre de cœurs CPU sur chaque nœud BE, jusqu'à max_instance_num.
runtime_filter_type IN ou filtre Bloom Le type de filtre d'exécution utilisé. Options : filtre Bloom, filtre MinMax, prédicat IN, IN ou filtre Bloom, filtre bitmap.
runtime_filter_mode GLOBAL La politique de pushdown pour les filtres d'exécution. Options : OFF, LOCAL, GLOBAL.
runtime_filter_wait_time_ms 1000 ms La durée pendant laquelle le nœud d'analyse de la table de gauche attend chaque filtre d'exécution.
runtime_filters_max_num 10 Le nombre maximal de filtres Bloom par requête.
runtime_bloom_filter_min_size 1048576 octets (1 Mo) La taille minimale d'un filtre Bloom.
runtime_bloom_filter_max_size 16777216 octets (16 Mo) La taille maximale d'un filtre Bloom.
runtime_bloom_filter_size 2097152 octets (2 Mo) La taille par défaut d'un filtre Bloom.
runtime_filter_max_in_num 1024 Le nombre maximal de lignes dans la table de droite pour lesquelles un prédicat IN peut être généré.
parallel_fragment_exec_instance_num 1 Le nombre d'instances traitant les plages d'analyse sur chaque nœud BE. L'augmentation de cette valeur améliore le débit pour les grandes requêtes, mais augmente l'utilisation du CPU, de la mémoire et des E/S disque.
query_timeout 900 s Le délai d'expiration pour toutes les instructions de requête dans la connexion actuelle. Pour les instructions INSERT, utilisez plutôt insert_timeout.
insert_timeout 14400 s Le délai d'expiration pour les instructions INSERT. Si insert_timeout est inférieur à query_timeout, query_timeout s'applique à la place (pour la rétrocompatibilité).
send_batch_parallelism La concurrence par défaut pour les envois de données par lots lors des opérations INSERT. Plafonnée à l'élément de configuration BE max_send_batch_parallelism_per_job.
sql_mode Contrôle la compatibilité de la syntaxe SQL et la rigueur de la validation des données. Voir SQL Mode.
sql_select_limit (aucune limite) Le nombre maximal par défaut de lignes renvoyées par SELECT, y compris SELECT au sein de INSERT.
time_zone Valeur de system_time_zone Le fuseau horaire de la session actuelle. Affecte les résultats des fonctions temporelles. Voir Variables de fuseau horaire.
wait_timeout 28800 s (8 h) Le délai d'expiration de la connexion inactive. ApsaraDB for SelectDB ferme les connexions inactives depuis plus longtemps que cette période.
default_rowset_type beta Le format de stockage par défaut pour les nœuds de calcul. Valeurs valides : alpha, beta.
use_v2_rollup Contrôle si les requêtes utilisent les index ROLLUP au format Segment V2. Utilisé pour la vérification lors de la migration vers Segment V2.
prefer_join_method La méthode de jointure préférée lorsque Broadcast Join et Shuffle Join ont un coût égal. Valeurs valides : broadcast, shuffle.
insert_visible_timeout_ms 10000 ms Le temps pendant lequel ApsaraDB for SelectDB attend que la transaction soit validée et que les données deviennent visibles après la fin d'une instruction INSERT. Valeur minimale : 1000 ms.
cpu_resource_limit -1 (aucune limite) Limite le nombre de threads d'analyse qu'une requête peut utiliser sur un seul nœud. Remplace parallel_fragment_exec_instance_num. Remplacé par la propriété utilisateur cpu_resource_limit. Cette fonctionnalité est expérimentale.
return_object_data_as_binary Lorsque la valeur est true, renvoie les données bitmap et HLL au format binaire dans les résultats SELECT. Pour SELECT INTO OUTFILE, la sortie CSV encode en Base64 ; la sortie Parquet stocke sous forme de tableau d'octets. Exemple en Java : stmt.execute("set return_object_data_as_binary=true");. Pour plus d'informations, voir samples.
block_encryption_mode NULL Le mode de chiffrement par bloc. AES_128_ECB utilise l'algorithme Advanced Encryption Standard (AES). SM4_128_ECB utilise l'algorithme ShangMi 4 (SM4). Voir la description de la variable pour la liste complète des modes pris en charge.
default_password_lifetime 0 (n'expire jamais) La période d'expiration par défaut du mot de passe en jours. S'applique uniquement aux utilisateurs ayant la politique PASSWORD_EXPIRE DEFAULT.
password_history 0 (aucune limite) Le nombre de mots de passe précédents conservés. S'applique uniquement aux utilisateurs ayant la politique PASSWORD_HISTORY DEFAULT.
validate_password_policy NONE (0) La politique de force du mot de passe. STRONG (2) exige des mots de passe d'au moins 8 caractères contenant au moins 3 des éléments suivants : lettres majuscules, lettres minuscules, chiffres et caractères spéciaux (`~ ! @ # $ % ^ & * ( ) _ +

< > , . ? / : ; ' [ ] { } "`).

rewrite_or_to_in_predicate_threshold 2 Le nombre minimal d'opérateurs OR avant la réécriture en prédicat IN.
file_cache_base_path random Le chemin de stockage pour le cache de fichiers blocs sur le BE. Par défaut, un chemin sélectionné aléatoirement à partir de la configuration du BE.
topn_opt_limit_threshold 1024 Le seuil de la clause LIMIT pour activer les optimisations de requête top-N (filtrage dynamique, récupération des résultats en deux phases, lectures ordonnées par clé). Les optimisations s'appliquent lorsque n <= threshold.
use_fix_replica -1 (désactivé) Lorsqu'il est défini sur 0 ou plus, utilise toujours le réplica avec ce rang de numéro de série (0 = le plus petit).

Variables compatibles et réservées

Ces variables n'ont aucun effet fonctionnel dans ApsaraDB for SelectDB. Elles existent pour assurer la compatibilité avec les clients MySQL ou les pools de connexions JDBC.

Variable Objectif
SQL_AUTO_IS_NULL Compatibilité avec le pool de connexions JDBC c3p0.
auto_increment_increment Compatibilité client MySQL. N'affecte pas le comportement des colonnes à incrémentation automatique.
auto_increment_offset Compatibilité client MySQL. N'affecte pas le comportement des colonnes à incrémentation automatique.
autocommit Compatibilité client MySQL.
character_set_client Compatibilité client MySQL.
character_set_connection Compatibilité client MySQL.
character_set_results Compatibilité client MySQL.
character_set_server Compatibilité client MySQL.
collation_connection Compatibilité client MySQL.
collation_database Compatibilité client MySQL.
collation_server Compatibilité client MySQL.
have_query_cache Compatibilité client MySQL.
init_connect Compatibilité client MySQL.
interactive_timeout Compatibilité client MySQL.
language Compatibilité client MySQL.
max_allowed_packet Compatibilité avec le pool de connexions JDBC c3p0.
net_buffer_length Compatibilité client MySQL.
net_read_timeout Compatibilité client MySQL.
net_write_timeout Compatibilité client MySQL.
query_cache_size Compatibilité client MySQL.
query_cache_type Compatibilité avec le pool de connexions JDBC c3p0.
sql_safe_updates Compatibilité client MySQL.
tx_isolation Compatibilité client MySQL.
tx_read_only Compatibilité client MySQL.
transaction_read_only Compatibilité client MySQL.
transaction_isolation Compatibilité client MySQL.
version Compatibilité client MySQL.
performance_schema Compatibilité avec MySQL JDBC 8.0.16 et versions ultérieures.
codegen_level Définit le niveau de génération de code LLVM. Sans effet.
license Affiche la licence d'ApsaraDB for SelectDB.
resource_group Réservé.
system_time_zone Défini sur le fuseau horaire système lors de l'initialisation du cluster. Ne peut pas être modifié.
version_comment Affiche la version d'ApsaraDB for SelectDB. Ne peut pas être modifié.
dump_nereids_memo Utilisé pour les tests de régression.
group_concat_max_len Compatibilité avec certains outils de business intelligence (BI).
be_number_for_test Aucun effet pratique.
workload_group Réservé.

Références