Tous les produits
Search
Centre de documentation

PolarDB:Paramètres liés à IMCI

Dernière mise à jour :Aug 11, 2026

Cette rubrique décrit les paramètres de configuration de la fonctionnalité In-Memory Column Index (IMCI) dans PolarDB for MySQL.

Référence rapide

Paramètre Valeur par défaut Valeurs valides Unité
loose_imci_auto_update_statistic ASYNC ASYNC, SYNC, OFF —
loose_imci_enable_window_function 2 0, 1, 2 —
loose_imci_max_enum_join_pairs 2000 0–4294967295 count
loose_imci_min_virtual_memory DBNodeClassMemory * 3 / 20 1–9223372036854775807 bytes
loose_imci_max_virtual_memory 9223372036854775807 1–9223372036854775807 bytes
loose_imci_optimizer_switch 'force_hybrid_index_search=OFF' 'force_hybrid_index_search=OFF', 'force_hybrid_index_search=ON' —
loose_imci_ap_threshold 50000 1–18446744073709551615 row count
loose_cost_threshold_for_imci 50000 1–18446744073709551615 row count
loose_imci_enable_query_trace OFF OFF, ON —
loose_polar_enable_implicit_imci_with_create_table OFF OFF, ON —
loose_imci_columnar_advise_buffer_size 8388608 0–18446744073709551615 bytes
loose_etl_from_imci OFF OFF, ON —
loose_etl_from_imci_compress OFF OFF, ON —
loose_imci_default_pack_shift 14 (16 pour PolarDB for MySQL 8.0.1.1.36+) 7–18 —
loose_slow_log_record_imci OFF OFF, ON —
loose_imci_default_write_policy Tradeoff Tradeoff, ForCapacity, ForPerformance, Skip4K —

loose_imci_auto_update_statistic

Détermine si l'optimiseur de requêtes IMCI recalcule les statistiques lorsque les statistiques existantes sont obsolètes.

  • Valeur par défaut : ASYNC

  • Valeurs valides : ASYNC, SYNC, OFF

Valeur Comportement Cas d'utilisation
ASYNC (par défaut) Recalcule les statistiques via un échantillonnage asynchrone. La requête s'exécute immédiatement sans attendre l'actualisation. Convient à la plupart des charges de travail. Minimise la latence des requêtes tout en maintenant des statistiques raisonnablement à jour.
SYNC Recalcule les statistiques via un échantillonnage synchrone. La requête attend l'actualisation des statistiques avant de s'exécuter. Recommandé lorsque la précision du plan prime sur la latence, par exemple pour des traitements par lots planifiés où un plan sous-optimal serait coûteux.
OFF Désactive le recalcul automatique. Les statistiques ne sont pas actualisées lorsqu'elles deviennent obsolètes. À utiliser uniquement si vous gérez les statistiques manuellement et souhaitez éviter toute interférence avec la collecte automatique.

loose_imci_enable_window_function

Définit si l'accélération IMCI s'applique aux instructions SQL contenant des fonctions de fenêtrage.

  • Valeur par défaut : 2

  • Valeurs valides : 0, 1, 2

Valeur Comportement Cas d'utilisation
2 (par défaut) L'accélération IMCI s'applique à toutes les instructions SQL avec fonctions de fenêtrage, y compris celles spécifiant des cadres (frames). Adapté à la majorité des charges de travail. Offre la couverture d'accélération la plus large.
1 L'accélération IMCI concerne uniquement les instructions SQL dont les fonctions de fenêtrage ne spécifient aucun cadre. Utile si vous constatez des problèmes d'exactitude avec les fonctions de fenêtrage cadrées sous accélération IMCI.
0 Désactive l'accélération IMCI pour toutes les instructions SQL utilisant des fonctions de fenêtrage. Réservé au dépannage ou lorsque les requêtes avec fonctions de fenêtrage doivent revenir à une exécution sur stockage ligne.

loose_imci_max_enum_join_pairs

Nombre maximal de plans d'exécution équivalents évalués par l'optimiseur de requêtes IMCI lorsque IMCI et la réorganisation des jointures sont activés.

  • Valeur par défaut : 2000

  • Valeurs valides : 0–4294967295

  • Unité : count

Une valeur plus élevée permet à l'optimiseur d'envisager davantage d'ordres de jointure. Cela peut améliorer la qualité du plan pour les requêtes complexes multi-tables, mais augmente le temps de planification.

loose_imci_min_virtual_memory

Quantité minimale de mémoire allouée à un IMCI lors d'une requête.

  • Valeur par défaut : DBNodeClassMemory * 3 / 20

  • Valeurs valides : 1–9223372036854775807

  • Unité : bytes

La valeur par défaut dépend de la mémoire de la classe de nœud. Augmentez cette valeur si les requêtes IMCI manquent de mémoire sur des nœuds dotés d'une grande capacité mémoire.

loose_imci_max_virtual_memory

Quantité maximale de mémoire qu'un IMCI peut utiliser durant une requête.

  • Valeur par défaut : 9223372036854775807

  • Valeurs valides : 1–9223372036854775807

  • Unité : bytes

La valeur par défaut est pratiquement illimitée. Définissez une valeur inférieure pour plafonner l'utilisation mémoire par requête IMCI lors de l'exécution de charges de travail mixtes.

loose_imci_optimizer_switch

Indique si l'optimiseur force un plan hybride pour accélérer les requêtes sur tables larges.

  • Valeur par défaut : 'force_hybrid_index_search=OFF'

  • Valeurs valides : 'force_hybrid_index_search=OFF', 'force_hybrid_index_search=ON'

Valeur Comportement
'force_hybrid_index_search=OFF' (par défaut) L'optimiseur sélectionne automatiquement le meilleur plan sans imposer de plan hybride.
'force_hybrid_index_search=ON' Force un plan hybride pour les requêtes sur tables larges qui remplissent les conditions requises.
Remarque

Régler ce paramètre sur ON reste sans effet si la table ne possède aucune statistique ou si l'estimation de cardinalité et le calcul de coût pour les IMCI ne sont pas activés. Dans ces cas, la réorganisation des jointures pour les IMCI demeure désactivée.

loose_imci_ap_threshold

Seuil de nombre de lignes déterminant si une instruction SQL est routée vers un nœud de stockage colonne.

  • Valeur par défaut : 50000

  • Valeurs valides : 1–18446744073709551615

  • Unité : row count

Si le nombre estimé de lignes balayées par une instruction SQL dépasse ce seuil, l'instruction est dirigée vers un nœud de stockage colonne. Par exemple, avec la valeur par défaut de 50000, toute instruction estimée balayer plus de 50 000 lignes est distribuée à un nœud de stockage colonne.

Remarque

Les paramètres loose_imci_ap_threshold et loose_cost_threshold_for_imci fonctionnent conjointement. loose_imci_ap_threshold gère le routage vers les nœuds de stockage colonne, tandis que loose_cost_threshold_for_imci détermine le plan d'exécution utilisé après le routage. Configurez ces deux paramètres ensemble pour garantir un comportement cohérent.

loose_cost_threshold_for_imci

Seuil de nombre de lignes déterminant l'utilisation d'un plan d'exécution de stockage colonne sur un nœud dédié.

  • Valeur par défaut : 50000

  • Valeurs valides : 1–18446744073709551615

  • Unité : row count

Une fois une instruction routée vers un nœud de stockage colonne (voir loose_imci_ap_threshold), ce seuil détermine le plan d'exécution. Si le nombre estimé de lignes balayées excède cette valeur, un plan d'exécution de stockage colonne est employé. Sinon, le système utilise un plan d'exécution de stockage ligne.

Par exemple, avec la valeur par défaut de 50000, les instructions estimées balayer plus de 50 000 lignes utilisent un plan d'exécution de stockage colonne. Toutes les autres reviennent à un plan d'exécution de stockage ligne.

loose_imci_enable_query_trace

Spécifie si le noyau génère des journaux d'erreurs durant l'optimisation des requêtes IMCI.

  • Valeur par défaut : OFF

  • Valeurs valides : OFF, ON

Activez ce paramètre pour collecter des informations de diagnostic lors du dépannage de problèmes d'optimisation de requêtes IMCI. Désactivez-le en production afin d'éviter la surcharge liée aux journaux.

loose_polar_enable_implicit_imci_with_create_table

Détermine si un IMCI couvrant toute la table est automatiquement ajouté à chaque nouvelle table lors de sa création.

  • Valeur par défaut : OFF

  • Valeurs valides : OFF, ON

Lorsqu'il est réglé sur ON, toutes les tables créées avec CREATE TABLE incluent automatiquement un IMCI complet. Cette option s'avère utile pour appliquer l'accélération IMCI à toutes les nouvelles tables sans créer explicitement d'index.

loose_imci_columnar_advise_buffer_size

Quantité de mémoire disponible pour la procédure stockée dbms_imci.columnar_advise().

  • Valeur par défaut : 8388608 (8 MiB)

  • Valeurs valides : 0–18446744073709551615

  • Unité : bytes

Augmentez cette valeur si dbms_imci.columnar_advise() manque de mémoire lors de l'analyse de grandes tables.

loose_etl_from_imci

Contrôle la lecture des données depuis des nœuds de stockage colonne en lecture seule pendant les opérations ETL.

  • Valeur par défaut : OFF

  • Valeurs valides : OFF, ON

Réglez sur ON pour décharger les lectures ETL vers des nœuds de stockage colonne en lecture seule, réduisant ainsi la charge des nœuds principaux.

loose_etl_from_imci_compress

Détermine si les fichiers sont compressés lors de la lecture de données depuis des nœuds de stockage colonne en lecture seule.

  • Valeur par défaut : OFF

  • Valeurs valides : OFF, ON

Activez la compression pour réduire le volume des transferts réseau lors de la lecture de données depuis des nœuds de stockage colonne en lecture seule pendant les opérations ETL.

loose_imci_default_pack_shift (mis à jour dans PolarDB for MySQL 8.0.1.1.36)

Taille des groupes de lignes pour les IMCI.

  • Valeur par défaut : 14 (16 pour PolarDB for MySQL 8.0.1.1.36 et versions ultérieures)

  • Valeurs valides : 7–18

Remarque

Pour les clusters exécutant PolarDB for MySQL 8.0.1.1.36 ou une version ultérieure, la valeur par défaut est 16.

loose_slow_log_record_imci

Indique si les informations relatives à IMCI sont ajoutées aux journaux des requêtes lentes.

  • Valeur par défaut : OFF

  • Valeurs valides : OFF, ON

Activez ce paramètre pour inclure les métadonnées IMCI dans les entrées du journal des requêtes lentes, ce qui facilite le diagnostic des requêtes IMCI lentes.

loose_imci_default_write_policy

Politique d'écriture pour les données IMCI.

  • Valeur par défaut : Tradeoff

  • Valeurs valides : Tradeoff, ForCapacity, ForPerformance, Skip4K

Valeur Priorité Comportement Cas d'utilisation
Tradeoff (par défaut) Équilibrée Basé sur Skip4K. Les écritures inférieures à 1 Mo se comportent comme ForPerformance ; les écritures de 1 Mo ou plus tentent de répartir les données sur plusieurs fichiers. Convient à la plupart des charges de travail. Équilibre les performances E/S et l'efficacité du stockage sans réglage manuel.
ForCapacity Efficacité du stockage Répartit les données sur plusieurs fichiers pour minimiser la fragmentation. Génère au maximum un fragment de 4 Ko par écriture. Lorsque l'espace de stockage constitue la préoccupation principale.
ForPerformance Performances E/S Sélectionne le fichier avec l'ExtentSize optimal pour chaque écriture. Offre les meilleures performances E/S mais engendre la fragmentation et la surcharge d'espace les plus élevées. Charges de travail intensives en écriture où la performance prime sur l'efficacité du stockage.
Skip4K Efficacité modérée Utilise la même logique de fractionnement que ForCapacity, mais ignore l'extent de 4 Ko lorsque plus de 4 Ko sont écrits. Génère au maximum un fragment de 16 Ko par écriture. Lorsque vous souhaitez des fragments légèrement plus grands que ceux autorisés par ForCapacity, en échangeant une fragmentation supplémentaire minime contre des chemins d'écriture simplifiés.