Todos os produtos
Search
Central de documentação

PolarDB:Parâmetros relacionados ao IMCI

Última atualização: Jun 28, 2026

Este tópico descreve os parâmetros para configurar o recurso In-Memory Column Index (IMCI) no PolarDB for MySQL.

Referência rápida

Parâmetro

Padrão

Valores válidos

Unidade

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

contagem

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

contagem de linhas

loose_cost_threshold_for_imci

50000

1–18446744073709551615

contagem de linhas

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 se o otimizador de consultas do IMCI coleta estatísticas novamente quando as estatísticas existentes estão desatualizadas.

  • Valor padrão: ASYNC

  • Valores válidos: ASYNC, SYNC, OFF

Valor

Comportamento

Quando usar

ASYNC (padrão)

Coleta estatísticas novamente usando amostragem assíncrona. A consulta é executada imediatamente, sem esperar pela atualização.

Adequado para a maioria das cargas de trabalho. Minimiza a latência da consulta e mantém as estatísticas razoavelmente atualizadas.

SYNC

Coleta estatísticas novamente usando amostragem síncrona. A consulta aguarda a atualização das estatísticas antes de ser executada.

Recomendado quando a precisão do plano é mais importante que a latência da consulta, como em jobs em lote agendados nos quais um plano subótimo teria alto custo.

OFF

Desativa a nova coleta automática. As estatísticas não são atualizadas quando ficam desatualizadas.

Use apenas se você gerenciar as estatísticas manualmente e quiser evitar interferências da nova coleta automática.

loose_imci_enable_window_function

Define se a aceleração do IMCI se aplica a instruções SQL que contêm funções de janela.

  • Valor padrão: 2

  • Valores válidos: 0, 1, 2

Valor

Comportamento

Quando usar

2 (padrão)

A aceleração do IMCI aplica-se a todas as instruções SQL com funções de janela, inclusive aquelas com frames especificados.

Ideal para a maioria das cargas de trabalho. Oferece a cobertura de aceleração mais ampla.

1

A aceleração do IMCI aplica-se apenas a instruções SQL com funções de janela que não possuem frames especificados.

Indicado caso você observe problemas de correção em funções de janela com frames sob aceleração do IMCI.

0

A aceleração do IMCI fica desativada para todas as instruções SQL com funções de janela.

Utilize para solução de problemas ou quando consultas com funções de janela precisarem retornar à execução no armazenamento de linhas.

loose_imci_max_enum_join_pairs

Número máximo de planos de execução equivalentes que o otimizador de consultas do IMCI avalia quando tanto o IMCI quanto a reordenação de junções estão ativados.

  • Valor padrão: 2000

  • Valores válidos: 0–4294967295

  • Unidade: contagem

Um valor mais alto permite que o otimizador considere mais ordenações de junção. Isso pode melhorar a qualidade do plano para consultas complexas com múltiplas tabelas, embora aumente o tempo de planejamento.

loose_imci_min_virtual_memory

Quantidade mínima de memória alocada para um IMCI durante uma consulta.

  • Valor padrão: DBNodeClassMemory * 3 / 20

  • Valores válidos: 1–9223372036854775807

  • Unidade: bytes

O valor padrão deriva da memória da classe do nó. Aumente esse valor se as consultas do IMCI enfrentarem restrições de memória em nós com grande capacidade de memória.

loose_imci_max_virtual_memory

Quantidade máxima de memória que um IMCI pode utilizar durante uma consulta.

  • Valor padrão: 9223372036854775807

  • Valores válidos: 1–9223372036854775807

  • Unidade: bytes

O valor padrão é efetivamente ilimitado. Defina um valor menor para limitar o uso de memória por consulta do IMCI ao executar cargas de trabalho mistas.

loose_imci_optimizer_switch

Determina se o otimizador força um plano híbrido para acelerar consultas em tabelas largas.

  • Valor padrão: 'force_hybrid_index_search=OFF'

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

Valor

Comportamento

'force_hybrid_index_search=OFF' (padrão)

O otimizador seleciona automaticamente o melhor plano, sem forçar um plano híbrido.

'force_hybrid_index_search=ON'

Força um plano híbrido para consultas em tabelas largas que atendem às condições.

Nota

Definir este parâmetro como ON não surte efeito se a tabela não tiver estatísticas ou se a estimativa de cardinalidade e o cálculo de custo para IMCIs não estiverem ativados. Nesses casos, a reordenação de junções para IMCIs permanece desativada.

loose_imci_ap_threshold

Limiar de contagem de linhas que determina se uma instrução SQL é roteada para um nó de armazenamento colunar.

  • Valor padrão: 50000

  • Valores válidos: 1–18446744073709551615

  • Unidade: contagem de linhas

Se o número estimado de linhas verificadas por uma instrução SQL exceder esse limiar, a instrução será roteada para um nó de armazenamento colunar. Por exemplo, com o valor padrão de 50000, qualquer instrução com estimativa de verificação superior a 50.000 linhas é distribuída para um nó de armazenamento colunar.

Nota

Os parâmetros loose_imci_ap_threshold e loose_cost_threshold_for_imci funcionam em conjunto. O loose_imci_ap_threshold controla o roteamento para nós de armazenamento colunar, enquanto o loose_cost_threshold_for_imci define qual plano de execução será usado após o roteamento. Configure ambos os parâmetros juntos para garantir um comportamento consistente.

loose_cost_threshold_for_imci

Limiar de contagem de linhas que determina se um plano de execução de armazenamento colunar é utilizado em um nó desse tipo.

  • Valor padrão: 50000

  • Valores válidos: 1–18446744073709551615

  • Unidade: contagem de linhas

Após o roteamento de uma instrução para um nó de armazenamento colunar (consulte loose_imci_ap_threshold), este limiar define o plano de execução. Se as linhas estimadas para verificação excederem esse valor, o sistema usará um plano de execução de armazenamento colunar. Caso contrário, utilizará um plano de execução de armazenamento de linhas.

Por exemplo, com o valor padrão de 50000, instruções com estimativa de verificação superior a 50.000 linhas usam um plano de execução de armazenamento colunar. Todas as demais retornam ao plano de execução de armazenamento de linhas.

loose_imci_enable_query_trace

Controla se o kernel imprime logs de erro durante a otimização de consultas do IMCI.

  • Valor padrão: OFF

  • Valores válidos: OFF, ON

Ative este parâmetro para coletar informações de diagnóstico ao solucionar problemas de otimização de consultas do IMCI. Desative-o em produção para evitar sobrecarga de logs.

loose_polar_enable_implicit_imci_with_create_table

Define se um IMCI de tabela completa é adicionado automaticamente a cada nova tabela no momento da criação.

  • Valor padrão: OFF

  • Valores válidos: OFF, ON

Quando definido como ON, todas as tabelas criadas com CREATE TABLE incluem automaticamente um IMCI de tabela completa. Esse recurso é útil quando você deseja aplicar a aceleração do IMCI a todas as novas tabelas sem precisar criar índices explicitamente.

loose_imci_columnar_advise_buffer_size

Quantidade de memória disponível para o procedimento armazenado dbms_imci.columnar_advise().

  • Valor padrão: 8388608 (8 MiB)

  • Valores válidos: 0–18446744073709551615

  • Unidade: bytes

Aumente esse valor se o dbms_imci.columnar_advise() ficar sem memória ao analisar tabelas grandes.

loose_etl_from_imci

Determina se os dados são lidos de nós de armazenamento colunar somente leitura durante operações de ETL.

  • Valor padrão: OFF

  • Valores válidos: OFF, ON

Defina como ON para descarregar as leituras de ETL para nós de armazenamento colunar somente leitura, reduzindo a carga nos nós primários.

loose_etl_from_imci_compress

Controla se os arquivos são compactados quando os dados são lidos de nós de armazenamento colunar somente leitura.

  • Valor padrão: OFF

  • Valores válidos: OFF, ON

Ative a compactação para reduzir o tamanho da transferência de rede ao ler dados de nós de armazenamento colunar somente leitura durante operações de ETL.

loose_imci_default_pack_shift (atualizado no PolarDB for MySQL 8.0.1.1.36)

Tamanho do grupo de linhas para IMCIs.

  • Valor padrão: 14 (16 para PolarDB for MySQL 8.0.1.1.36 e posterior)

  • Valores válidos: 7–18

Nota

Para clusters executando o PolarDB for MySQL 8.0.1.1.36 ou posterior, o valor padrão é 16.

loose_slow_log_record_imci

Define se informações relacionadas ao IMCI são anexadas aos logs de consultas lentas.

  • Valor padrão: OFF

  • Valores válidos: OFF, ON

Ative este parâmetro para incluir metadados do IMCI nas entradas de log de consultas lentas, o que ajuda a diagnosticar consultas lentas do IMCI.

loose_imci_default_write_policy

Política de gravação para dados do IMCI.

  • Valor padrão: Tradeoff

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

Valor

Prioridade

Comportamento

Quando usar

Tradeoff (padrão)

Equilibrada

Baseado em Skip4K. Gravações menores que 1 MB comportam-se como ForPerformance; gravações de 1 MB ou maiores tentam dividir os dados em vários arquivos.

Projetado para a maioria das cargas de trabalho. Equilibra desempenho de E/S e eficiência de armazenamento sem ajuste manual.

ForCapacity

Eficiência de armazenamento

Divide os dados em vários arquivos para minimizar a fragmentação. Gera no máximo um fragmento de 4 KB por gravação.

Mais indicado quando o espaço de armazenamento é a principal preocupação.

ForPerformance

Desempenho de E/S

Seleciona o arquivo com o ExtentSize ideal para cada gravação. Oferece o melhor desempenho de E/S, mas produz a maior fragmentação e sobrecarga de espaço.

Recomendado para cargas de trabalho intensivas em gravação, nas quais o desempenho tem prioridade sobre a eficiência de armazenamento.

Skip4K

Eficiência moderada

Usa a mesma lógica de divisão do ForCapacity, mas ignora a extensão de 4 KB quando mais de 4 KB são gravados. Gera no máximo um fragmento de 16 KB por gravação.

Use quando desejar fragmentos ligeiramente maiores do que o ForCapacity permite, trocando uma fragmentação extra mínima por caminhos de gravação mais simples.