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 |
|
|
|
|
— |
|
|
|
|
— |
|
|
|
|
contagem |
|
|
|
|
bytes |
|
|
|
|
bytes |
|
|
|
|
— |
|
|
|
|
contagem de linhas |
|
|
|
|
contagem de linhas |
|
|
|
|
— |
|
|
|
|
— |
|
|
|
|
bytes |
|
|
|
|
— |
|
|
|
|
— |
|
|
|
|
— |
|
|
|
|
— |
|
|
|
|
— |
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:
ASYNCValores válidos:
ASYNC,SYNC,OFF
|
Valor |
Comportamento |
Quando usar |
|
|
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. |
|
|
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. |
|
|
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:
2Valores válidos:
0,1,2
|
Valor |
Comportamento |
Quando usar |
|
|
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. |
|
|
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. |
|
|
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:
2000Valores válidos:
0–4294967295Unidade: 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 / 20Valores válidos:
1–9223372036854775807Unidade: 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:
9223372036854775807Valores válidos:
1–9223372036854775807Unidade: 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 |
|
|
O otimizador seleciona automaticamente o melhor plano, sem forçar um plano híbrido. |
|
|
Força um plano híbrido para consultas em tabelas largas que atendem às condições. |
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:
50000Valores válidos:
1–18446744073709551615Unidade: 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.
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:
50000Valores válidos:
1–18446744073709551615Unidade: 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:
OFFValores 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:
OFFValores 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–18446744073709551615Unidade: 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:
OFFValores 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:
OFFValores 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(16para PolarDB for MySQL 8.0.1.1.36 e posterior)Valores válidos:
7–18
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:
OFFValores 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:
TradeoffValores válidos:
Tradeoff,ForCapacity,ForPerformance,Skip4K
|
Valor |
Prioridade |
Comportamento |
Quando usar |
|
|
Equilibrada |
Baseado em |
Projetado para a maioria das cargas de trabalho. Equilibra desempenho de E/S e eficiência de armazenamento sem ajuste manual. |
|
|
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. |
|
|
Desempenho de E/S |
Seleciona o arquivo com o |
Recomendado para cargas de trabalho intensivas em gravação, nas quais o desempenho tem prioridade sobre a eficiência de armazenamento. |
|
|
Eficiência moderada |
Usa a mesma lógica de divisão do |
Use quando desejar fragmentos ligeiramente maiores do que o |