Todos los productos
Search
Centro de documentos

PolarDB:Uso de los atributos extendidos de un IMCI para personalizarlo

Última actualización: Sep 05, 2026

Un In-Memory Column Index (IMCI) expone varios atributos extendidos que permiten ajustar el tamaño del grupo de filas, la compresión, el orden de clasificación, los índices de poda y el comportamiento de escritura. Establezca estos atributos en el comentario de la tabla cuando cree una tabla, con la sintaxis COLUMNAR=1 <optName>=<optValue>.

Atributos extendidos

pack_shift

Controla el tamaño del grupo de filas de los datos del IMCI, lo cual afecta directamente la cantidad de datos que residen en memoria al mismo tiempo. Ajústelo cuando trabaje con una gran cantidad de tablas o con tablas particionadas.

  • Valores válidos: número entero del 6 al 18

  • Default: el valor del parámetro loose_imci_default_pack_shift

Para consultar o modificar loose_imci_default_pack_shift, consulte IMCI-related parameters. Para configurarlo en la consola de PolarDB, consulte Specify cluster and node parameters.

codec_opt

Establece el algoritmo de compresión para los datos del IMCI. Cada algoritmo se adapta a distintas características de los datos; por ejemplo, los datos de series temporales, las columnas de baja cardinalidad y las cargas de trabajo de propósito general aprovechan mejor opciones diferentes. Para consultar la lista completa de algoritmos compatibles y conocer cómo elegir uno según sus datos, consulte Set a compression algorithm.

order_key

Establece una clave de ordenamiento para el IMCI. Ordenar los datos por las columnas que se filtran con mayor frecuencia permite que el motor omita grupos de filas irrelevantes durante los escaneos, lo cual mejora significativamente el rendimiento de las consultas. Para más detalles sobre la configuración, consulte Configure sort keys for IMCIs.

pruner / pruner_minmax / pruner_bloom

Controla si se construyen índices secundarios en columnas de cadena para omitir datos durante los escaneos. Hay dos tipos de índice disponibles:

Tipo de índice

Más indicado para

pruner_minmax

Consultas de rango (>, <, BETWEEN) en columnas con valores ordenables

pruner_bloom

Consultas de igualdad y listas IN en columnas de cadena con muchos valores distintos

Utilice ambos en conjunto sobre columnas de cadena para abarcar distintos patrones de consulta.

En PolarDB for MySQL 8.0.1.1.35 o versiones posteriores, los índices minmax y los filtros Bloom se crean de forma predeterminada en las columnas de cadena.

Para conocer todos los detalles de configuración, consulte IMCI optimization for statistic queries.

prefix_len

Establece la longitud del prefijo, en bytes, para los podadores minmax en columnas de cadena. Un prefijo más corto reduce el tamaño del índice, pero puede disminuir la eficacia de la poda en cadenas largas.

  • Valores válidos: número entero del 1 al 255

  • Valor predeterminado: 20

Para obtener información sobre cómo crear índices minmax al crear una tabla, consulte la sección Create minmax indexes when you create a table en Optimización de IMCI para consultas estadísticas.

write_policy

Controla cómo se escriben los datos del IMCI en los archivos de almacenamiento. Esta opción afecta tanto el uso de espacio en disco como el rendimiento de E/S de escritura.

Valor

Nombre

Eficiencia de espacio

Cuándo usarlo

0

ForCapacity

Máxima: máximo 1 fragmento de 4 KB por escritura. Se prioriza el espacio de almacenamiento y los datos se dividen en varios archivos para minimizar la fragmentación.

Cuando el almacenamiento es limitado y se debe minimizar la fragmentación.

1

ForPerformance

Mínima: máxima fragmentación y desperdicio de espacio. Cada escritura va a un archivo llamado ExtentSize para lograr el mejor rendimiento de E/S.

Cuando el rendimiento de E/S es la prioridad principal y el espacio de almacenamiento no representa una limitante.

2

Skip4K

Alta: máximo 1 fragmento de 16 KB por escritura. Se basa en Page Free Space (PFS); cuando los datos escritos superan los 4 KB, se ignora el extent de 4 KB.

Cargas de trabajo equilibradas donde la alineación de 16 KB cumple con los requisitos de rendimiento.

3

Tradeoff

Moderada: tiene mayor prioridad que Skip4K. Se comporta como ForPerformance en escrituras menores a 1 MB y divide los datos entre archivos a partir de 1 MB.

Tamaños de escritura mixtos donde los lotes grandes deben ser eficientes en espacio.

  • Default: el valor del parámetro loose_imci_default_write_policy, que acepta los mismos valores (del 0 al 3)

Para consultar o modificar loose_imci_default_write_policy en la consola de PolarDB, consulte Specify cluster and node parameters.

Configurar atributos extendidos

Especifique los atributos extendidos en la cláusula COMMENT cuando cree una tabla. Use el formato COLUMNAR=1 <optName>=<optValue>, donde varios atributos se separan con espacios.

Sintaxis

CREATE TABLE lineitem COMMENT "COLUMNAR=1 <optName>=<optValue>";

Parámetro

Descripción

optName

Nombre del atributo extendido. Por ejemplo, pack_shift.

optValue

Valor del atributo extendido.

Ejemplo

A continuación se muestra un ejemplo que crea la tabla lineitem como una tabla columnstore, con pack_shift establecido en 10:

CREATE TABLE lineitem (
  l_orderkey       INTEGER NOT NULL,
  l_partkey        INTEGER NOT NULL,
  l_suppkey        INTEGER NOT NULL,
  l_linenumber     INTEGER NOT NULL,
  l_quantity       DECIMAL(15,2) NOT NULL,
  l_extendedprice  DECIMAL(15,2) NOT NULL,
  l_discount       DECIMAL(15,2) NOT NULL,
  l_tax            DECIMAL(15,2) NOT NULL,
  l_returnflag     CHAR(1) NOT NULL,
  l_linestatus     CHAR(1) NOT NULL,
  l_shipdate       DATE NOT NULL,
  l_commitdate     DATE NOT NULL,
  l_receiptdate    DATE NOT NULL,
  l_shipinstruct   CHAR(25) NOT NULL,
  l_shipmode       CHAR(10) NOT NULL,
  l_comment        VARCHAR(44) NOT NULL
) COMMENT "COLUMNAR=1 pack_shift=10";

Para establecer varios atributos, agregue cada par <optName>=<optValue> separado por un espacio dentro de la misma cadena de comentario.