Todos los productos
Search
Centro de documentos

PolarDB:Parámetros relacionados con IMCI

Última actualización: Sep 05, 2026

Este tema describe los parámetros para configurar la función In-Memory Column Index (IMCI) en PolarDB for MySQL.

Referencia rápida

Parámetro

Valor predeterminado

Valores válidos

Unidad

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 para 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

Controla si el optimizador de consultas de IMCI vuelve a recopilar estadísticas cuando las existentes están desactualizadas.

  • Valor predeterminado: ASYNC

  • Valores válidos: ASYNC, SYNC, OFF

Valor

Comportamiento

Cuándo usarlo

ASYNC (predeterminado)

Vuelve a recopilar estadísticas mediante muestreo asíncrono. La consulta se ejecuta de inmediato, sin esperar a que termine la actualización.

Recomendado para la mayoría de las cargas de trabajo. Minimiza la latencia de las consultas y mantiene las estadísticas razonablemente actualizadas.

SYNC

Vuelve a recopilar estadísticas mediante muestreo síncrono. La consulta espera a que se actualicen las estadísticas antes de ejecutarse.

Útil cuando la precisión del plan es más importante que la latencia. Por ejemplo, en trabajos por lotes programados donde un plan subóptimo resultaría costoso.

OFF

Deshabilita la recopilación automática. Las estadísticas no se actualizan aunque estén desactualizadas.

Indicado solo si usted gestiona las estadísticas manualmente y desea evitar interferencias de la recopilación automática.

loose_imci_enable_window_function

Controla si la aceleración de IMCI se aplica a las instrucciones SQL que contienen funciones de ventana.

  • Valor predeterminado: 2

  • Valores válidos: 0, 1, 2

Valor

Comportamiento

Cuándo usarlo

2 (predeterminado)

La aceleración de IMCI se aplica a todas las instrucciones SQL con funciones de ventana, incluidas aquellas con marcos especificados.

Adecuado para la mayoría de las cargas de trabajo. Ofrece la cobertura de aceleración más amplia.

1

La aceleración de IMCI se aplica únicamente a las instrucciones SQL con funciones de ventana que no tienen marcos especificados.

Utilice este valor si detecta problemas de exactitud con funciones de ventana con marco bajo la aceleración de IMCI.

0

Se deshabilita la aceleración de IMCI para todas las instrucciones SQL con funciones de ventana.

Diseñado para escenarios de resolución de problemas o cuando las consultas con funciones de ventana deben recurrir a la ejecución en almacenamiento por filas.

loose_imci_max_enum_join_pairs

El número máximo de planes de ejecución equivalentes que evalúa el optimizador de consultas de IMCI cuando tanto IMCI como la reordenación de joins están habilitados.

  • Valor predeterminado: 2000

  • Valores válidos: 0–4294967295

  • Unidad: count

Un valor más alto permite que el optimizador considere más órdenes de join. Esto puede mejorar la calidad del plan en consultas complejas de varias tablas, aunque aumenta el tiempo de planificación.

loose_imci_min_virtual_memory

La cantidad mínima de memoria asignada a un IMCI durante una consulta.

  • Valor predeterminado: DBNodeClassMemory * 3 / 20

  • Valores válidos: 1–9223372036854775807

  • Unidad: bytes

El valor predeterminado se calcula a partir de la memoria de la clase del nodo. Incremente este valor si las consultas de IMCI se ven limitadas por la memoria en nodos con gran capacidad.

loose_imci_max_virtual_memory

La cantidad máxima de memoria que un IMCI puede utilizar durante una consulta.

  • Valor predeterminado: 9223372036854775807

  • Valores válidos: 1–9223372036854775807

  • Unidad: bytes

En la práctica, el valor predeterminado no tiene límite. Establezca un valor menor para limitar el uso de memoria por consulta de IMCI cuando ejecute cargas de trabajo mixtas.

loose_imci_optimizer_switch

Controla si el optimizador fuerza un plan híbrido para acelerar consultas de tablas anchas.

  • Valor predeterminado: 'force_hybrid_index_search=OFF'

  • Valores válidos: 'force_hybrid_index_search=OFF', 'force_hybrid_index_search=ON'

Valor

Comportamiento

'force_hybrid_index_search=OFF' (predeterminado)

El optimizador selecciona automáticamente el mejor plan sin forzar un plan híbrido.

'force_hybrid_index_search=ON'

Fuerza un plan híbrido para las consultas de tablas anchas que cumplen las condiciones.

Nota

Establecer este parámetro en ON no tiene efecto si la tabla no cuenta con estadísticas. Tampoco surte efecto si la estimación de cardinalidad y el cálculo de costos para IMCI no están habilitados. En esos casos, la reordenación de joins para IMCI permanece deshabilitada.

loose_imci_ap_threshold

El umbral de conteo de filas que determina si una instrucción SQL se enruta a un nodo de almacenamiento por columnas.

  • Valor predeterminado: 50000

  • Valores válidos: 1–18446744073709551615

  • Unidad: row count

Si el número estimado de filas que analiza una instrucción SQL supera este umbral, la instrucción se enruta a un nodo de almacenamiento por columnas. Por ejemplo, con el valor predeterminado de 50000, cualquier instrucción que analice más de 50,000 filas se distribuye a un nodo de almacenamiento por columnas.

Nota

Los parámetros loose_imci_ap_threshold y loose_cost_threshold_for_imci funcionan en conjunto. loose_imci_ap_threshold controla el enrutamiento hacia los nodos de almacenamiento por columnas. Por su parte, loose_cost_threshold_for_imci define qué plan de ejecución se utiliza después del enrutamiento. Configure ambos parámetros de manera conjunta para garantizar un comportamiento consistente.

loose_cost_threshold_for_imci

El umbral de conteo de filas que determina si se utiliza un plan de ejecución de almacenamiento por columnas en un nodo de ese tipo.

  • Valor predeterminado: 50000

  • Valores válidos: 1–18446744073709551615

  • Unidad: row count

Una vez que una instrucción se enruta a un nodo de almacenamiento por columnas (consulte loose_imci_ap_threshold), este umbral determina el plan de ejecución. Si las filas estimadas superan este valor, se utiliza un plan de ejecución de almacenamiento por columnas. De lo contrario, se emplea un plan de ejecución de almacenamiento por filas.

Por ejemplo, con el valor predeterminado de 50000, las instrucciones que analicen más de 50,000 filas usan un plan de ejecución de almacenamiento por columnas. El resto recurre a un plan de ejecución de almacenamiento por filas.

loose_imci_enable_query_trace

Controla si el kernel imprime registros de error durante la optimización de consultas de IMCI.

  • Valor predeterminado: OFF

  • Valores válidos: OFF, ON

Habilite este parámetro para recopilar información de diagnóstico cuando resuelva problemas de optimización de consultas de IMCI. Deshabilítelo en producción para evitar la sobrecarga de los registros.

loose_polar_enable_implicit_imci_with_create_table

Controla si se agrega automáticamente un IMCI de tabla completa a cada tabla nueva al momento de crearla.

  • Valor predeterminado: OFF

  • Valores válidos: OFF, ON

Cuando se establece en ON, todas las tablas creadas con CREATE TABLE incluyen automáticamente un IMCI de tabla completa. Esta opción resulta útil cuando necesita aplicar la aceleración de IMCI a todas las tablas nuevas sin crear índices de forma explícita.

loose_imci_columnar_advise_buffer_size

La cantidad de memoria disponible para el procedimiento almacenado dbms_imci.columnar_advise().

  • Valor predeterminado: 8388608 (8 MiB)

  • Valores válidos: 0–18446744073709551615

  • Unidad: bytes

Incremente este valor si dbms_imci.columnar_advise() se queda sin memoria al analizar tablas grandes.

loose_etl_from_imci

Controla si los datos se leen desde nodos de almacenamiento por columnas de solo lectura durante las operaciones ETL.

  • Valor predeterminado: OFF

  • Valores válidos: OFF, ON

Establézcalo en ON para delegar las lecturas ETL a los nodos de almacenamiento por columnas de solo lectura. Así reducirá la carga en los nodos principales.

loose_etl_from_imci_compress

Controla si los archivos se comprimen cuando los datos se leen desde nodos de almacenamiento por columnas de solo lectura.

  • Valor predeterminado: OFF

  • Valores válidos: OFF, ON

Habilite la compresión para reducir el tamaño de la transferencia de red cuando lea datos desde nodos de almacenamiento por columnas de solo lectura durante operaciones ETL.

loose_imci_default_pack_shift (actualizado en PolarDB for MySQL 8.0.1.1.36)

El tamaño del grupo de filas para los IMCI.

  • Valor predeterminado: 14 (16 para PolarDB for MySQL 8.0.1.1.36 y versiones posteriores)

  • Valores válidos: 7–18

Nota

Para los clústeres que ejecutan PolarDB for MySQL 8.0.1.1.36 o versiones posteriores, el valor predeterminado es 16.

loose_slow_log_record_imci

Controla si la información relacionada con IMCI se anexa a los registros de consultas lentas.

  • Valor predeterminado: OFF

  • Valores válidos: OFF, ON

Habilite este parámetro para incluir metadatos de IMCI en las entradas del registro de consultas lentas. Esto facilita el diagnóstico de consultas IMCI lentas.

loose_imci_default_write_policy

La política de escritura para los datos de IMCI.

  • Valor predeterminado: Tradeoff

  • Valores válidos: Tradeoff, ForCapacity, ForPerformance, Skip4K

Valor

Prioridad

Comportamiento

Cuándo usarlo

Tradeoff (predeterminado)

Equilibrada

Se basa en Skip4K. Las escrituras menores a 1 MB se comportan como ForPerformance; las de 1 MB o más intentan dividir los datos en varios archivos.

Adecuado para la mayoría de las cargas de trabajo. Equilibra el rendimiento de E/S y la eficiencia de almacenamiento sin ajustes manuales.

ForCapacity

Eficiencia de almacenamiento

Divide los datos en varios archivos para minimizar la fragmentación. Genera como máximo un fragmento de 4 KB por escritura.

Recomendado cuando el espacio de almacenamiento es la principal preocupación.

ForPerformance

Rendimiento de E/S

Selecciona el archivo con el ExtentSize óptimo para cada escritura. Ofrece el mejor rendimiento de E/S, pero genera la mayor fragmentación y sobrecarga de espacio.

Más indicado para cargas de trabajo intensivas en escritura donde el rendimiento tiene prioridad sobre la eficiencia de almacenamiento.

Skip4K

Eficiencia moderada

Utiliza la misma lógica de división que ForCapacity, pero ignora la extensión de 4 KB cuando se escriben más de 4 KB. Genera como máximo un fragmento de 16 KB por escritura.

Útil cuando requiere fragmentos ligeramente mayores a los de ForCapacity. Intercambia una fragmentación adicional mínima por rutas de escritura más simples.