Todos os produtos
Search
Central de documentação

ApsaraDB for SelectDB:Gerenciamento de variáveis

Última atualização: Jul 03, 2026

As variáveis do ApsaraDB for SelectDB controlam o comportamento de consultas, as configurações de sessão e as definições em todo o cluster. Elas se dividem em duas categorias: específicas do ApsaraDB for SelectDB e compatíveis com o protocolo de cliente MySQL.

Funcionamento das variáveis

É possível definir variáveis em dois escopos:

  • Escopo de sessão: Aplica-se apenas à conexão atual e é redefinido ao término da sessão.

  • Escopo global: Aplica-se à sessão atual e a todas as sessões subsequentes. Somente o usuário admin pode definir variáveis globais.

Quando há configurações em múltiplos níveis, elas entram em vigor seguindo esta ordem de prioridade (da maior para a menor):

  1. Variáveis de sessão

  2. Propriedades do usuário

  3. Variáveis globais

  4. Valores padrão

Caso uma configuração de prioridade mais alta não esteja definida, o próximo nível entra em vigor automaticamente.

Consultar variáveis

Execute SHOW VARIABLES para listar todas as variáveis e seus valores atuais:

SHOW VARIABLES;

Para filtrar por padrão de nome:

SHOW VARIABLES LIKE '%time_zone%';

Definir variáveis

Definir uma variável de sessão

As variáveis de sessão entram em vigor imediatamente e aplicam-se apenas à conexão atual:

SET exec_mem_limit = 137438953472;
SET forward_to_master = true;
SET time_zone = "Asia/Shanghai";

As variáveis também aceitam expressões constantes:

SET exec_mem_limit = 10 * 1024 * 1024 * 1024;
SET forward_to_master = concat('tr', 'u', 'e');

Definir uma variável global

As variáveis globais entram em vigor na sessão atual e em todas as sessões subsequentes:

SET GLOBAL exec_mem_limit = 137438953472;
Importante

Somente o usuário admin pode definir variáveis globais.

As variáveis a seguir suportam os escopos de sessão e global:

  • time_zone

  • wait_timeout

  • sql_mode

  • enable_profile

  • query_timeout

  • insert_timeout

  • exec_mem_limit

  • batch_size

  • allow_partition_column_nullable

  • insert_visible_timeout_ms

  • enable_fold_constant_by_be

As variáveis abaixo suportam apenas o escopo global:

  • default_rowset_type

  • default_password_lifetime

  • password_history

  • validate_password_policy

Substituir uma variável para uma única consulta

Use a dica SET_VAR para definir uma variável de sessão em uma única instrução, sem alterar o estado da sessão:

SELECT /*+ SET_VAR(exec_mem_limit = 8589934592) */ name FROM people ORDER BY name;
SELECT /*+ SET_VAR(query_timeout = 1, enable_partition_cache=true) */ sleep(3);
Os comentários devem começar com /*+ e seguir a instrução SELECT.

Variáveis de fuso horário

O ApsaraDB for SelectDB oferece duas variáveis de fuso horário:

Variável

Descrição

Modificável

system_time_zone

Fuso horário do sistema do cluster. Definido automaticamente na inicialização do servidor, com base no fuso horário do SO do servidor.

Não

time_zone

Fuso horário atual do cluster. Afeta funções de tempo e dados importados com deslocamentos de fuso horário.

Sim

Consultar e definir variáveis de fuso horário

Para visualizar ambas as variáveis de fuso horário:

SHOW VARIABLES LIKE '%time_zone%';

Para definir o fuso horário da sessão:

SET time_zone = 'Asia/Shanghai';

Para definir o fuso horário do cluster para todas as sessões subsequentes:

SET GLOBAL time_zone = 'Asia/Shanghai';

Formatos de fuso horário suportados

Tipo de formato

Exemplos

Nomeado (banco de dados tz da IANA)

Asia/Shanghai, America/Los_Angeles

Deslocamento UTC

+02:30, -10:00

Abreviações

GMT, UTC (equivalente a +00:00); CST (equivalente a Asia/Shanghai)

Zulu

Z (equivalente a +00:00)

Alguns métodos de importação de dados podem aceitar formatos adicionais de fuso horário não listados acima. Não dependa de formatos não padronizados em produção, pois o ApsaraDB for SelectDB pode alterar a forma como os trata a qualquer momento.

Impacto das configurações de fuso horário em funções e dados

Funções afetadas

As funções a seguir retornam resultados com base na configuração atual de time_zone:

Função

Comportamento

FROM_UNIXTIME

Converte um timestamp UTC para data e hora no fuso horário configurado. Com CST, FROM_UNIXTIME(0) retorna 1970-01-01 08:00:00.

UNIX_TIMESTAMP

Converte uma data e hora em um timestamp UTC. Com CST, UNIX_TIMESTAMP('1970-01-01 08:00:00') retorna 0.

CURTIME

Retorna a hora atual no fuso horário configurado.

NOW

Retorna a data e hora atuais no fuso horário configurado.

CONVERT_TZ

Converte uma data e hora de um fuso horário para outro.

A saída de SHOW LOAD e SHOW BACKENDS também reflete o fuso horário configurado.

Não afetados pelas configurações de fuso horário:

  • Os valores less than de colunas de chave de partição do tipo tempo em CREATE TABLE

  • Valores armazenados como tipo DATE ou DATETIME (o valor armazenado em si não muda)

Dados do tipo tempo durante a importação

Ao importar dados dos tipos DATE, DATEV2, DATETIME ou DATETIMEV2, o ApsaraDB for SelectDB trata a conversão de fuso horário da seguinte maneira:

  • Dados com sufixo de fuso horário (ex.: 2020-12-12 12:12:12+08:00): Convertidos para o time_zone atual do cluster. Por exemplo, se time_zone for +00:00, o valor armazenado torna-se 2020-12-12 04:12:12.

  • Dados sem sufixo de fuso horário (ex.: 2020-12-12 12:12:12): Tratados como tempo absoluto — importados como estão, sem conversão.

Horário de verão

Os ajustes de horário de verão estão embutidos nos fusos horários nomeados. Por exemplo, America/Los_Angeles muda de -08:00 para -07:00 em março e reverte em novembro.

Para evitar mudanças devido ao horário de verão, defina time_zone com um deslocamento UTC fixo (ex.: -08:00) em vez de usar uma zona nomeada como America/Los_Angeles.

Fontes de dados de fuso horário

Em cada nó de backend (BE), o ApsaraDB for SelectDB busca dados de fuso horário nos seguintes locais, nesta ordem:

  1. O diretório retornado pelo comando TZDIR

  2. /usr/share/zoneinfo

  3. O diretório zoneinfo no diretório de implantação do BE

Se nenhum dado de fuso horário for encontrado em qualquer local, o nó BE falhará ao iniciar.

Melhores práticas

Dados sensíveis a fuso horário

Antes de importar dados, decida como tratar as informações de fuso horário de forma consistente. Dados de tipos temporais como DATETIME não armazenam fuso horário — o ApsaraDB for SelectDB distingue duas categorias:

Tempo absoluto: Sem fuso horário nos dados e sem fuso horário configurado no momento da importação. Exemplo: 2023-12-12 08:00:00. Armazenado e consultado exatamente como fornecido, sem ser afetado por time_zone.

Tempo em um fuso horário específico: Os dados incluem um sufixo de fuso horário. Exemplo: 2020-12-12 12:12:12+02:00. O método de importação determina qual configuração de fuso horário se aplica:

  • INSERT INTO: Regido pela variável de sessão time_zone.

  • Stream Load ou Broker Load: Regido pelo cabeçalho de requisição timezone. Se o cabeçalho timezone entrar em conflito com a variável de sessão time_zone, o cabeçalho timezone terá precedência.

O ApsaraDB for SelectDB converte o fuso horário literal nos dados recebidos para o fuso horário configurado por time_zone no momento da importação.

Abordagem recomendada: Defina time_zone uma única vez antes da importação e mantenha-o consistente. Alterar time_zone após importar dados com consciência de fuso horário faz com que os valores armazenados sejam interpretados incorretamente nas consultas subsequentes.

O exemplo a seguir mostra o que acontece quando time_zone é alterado no meio da sessão:

-- Current time zone: Asia/Hong_Kong
SELECT @@time_zone;
-- +----------------+
-- | @@time_zone    |
-- +----------------+
-- | Asia/Hong_Kong |
-- +----------------+

-- Import data with literal time zone +02:00
-- Stored as 2020-12-12 18:12:12 (converted to Asia/Hong_Kong)
INSERT INTO dtv23 VALUES('2020-12-12 12:12:12+02:00');

SELECT * FROM dtv23;
-- +-------------------------+
-- | k0                      |
-- +-------------------------+
-- | 2020-12-12 18:12:12.000 |
-- +-------------------------+

-- Changing time_zone does not update stored values
SET time_zone = 'America/Los_Angeles';

-- A second import now uses America/Los_Angeles for conversion
INSERT INTO dtv23 VALUES('2020-12-12 12:12:12+02:00');

SELECT * FROM dtv23;
-- Rows now carry inconsistent time zone semantics
-- +-------------------------+
-- | k0                      |
-- +-------------------------+
-- | 2020-12-12 02:12:12.000 |  -- imported under America/Los_Angeles
-- | 2020-12-12 18:12:12.000 |  -- imported under Asia/Hong_Kong
-- +-------------------------+

Resumo das melhores práticas para fuso horário:

  • Confirme o time_zone do cluster antes de importar dados e não o altere posteriormente.

  • Ao usar Stream Load ou Broker Load, defina o cabeçalho timezone com o mesmo valor da variável de sessão time_zone.

  • Para dados de tempo absoluto, importe sem sufixo de fuso horário. Para dados com consciência de fuso horário, inclua o sufixo e permita que o ApsaraDB for SelectDB faça a conversão.

Precisão do horário de verão

Os dados de fusos horários nomeados (incluindo datas de início e fim do horário de verão) são mantidos pela Internet Assigned Numbers Authority (IANA). Os dados armazenados em cada nó BE podem não refletir as alterações mais recentes confirmadas pela IANA para o ano atual.

Se sua carga de trabalho exigir o cronograma mais recente de horário de verão, garanta que a source de dados de fuso horário em cada nó BE contenha a versão mais recente do banco de dados tz da IANA. Para obter os dados mais recentes, consulte The tz-announce Archives.

Configurações de timeout

O ApsaraDB for SelectDB suporta configuração de timeout em vários níveis usando as variáveis query_timeout e insert_timeout, além de propriedades de usuário.

Priority order (highest to lowest): Variáveis de sessão > Propriedades do usuário > Variáveis globais > Valores padrão

Variável

Escopo

Padrão

Descrição

query_timeout

Sessão, Global, Propriedade do usuário

900 s (15 min)

Controla o timeout para todas as instruções de consulta.

insert_timeout

Sessão, Global, Propriedade do usuário

14400 s (4 h)

Controla o timeout especificamente para instruções INSERT. Ao executar INSERT, aplica-se o maior valor entre query_timeout e insert_timeout.

Propriedades de usuário para timeout:

  • As propriedades de usuário query_timeout e insert_timeout só podem ser definidas pelo usuário admin para um usuário específico.

  • Essas propriedades não possuem semântica de cota — elas alteram o timeout padrão para o usuário especificado.

  • Alterações nas propriedades do usuário entram em vigor após a reconexão do cliente.

Apêndice

Variáveis suportadas

Variáveis booleanas

Variáveis booleanas ativam ou desativam um recurso. Valores válidos: true e false.

Variável

Padrão

Descrição

delete_without_partition

false

Quando true, uma instrução DELETE sem cláusula de partição aplica-se automaticamente a todas as partições. Isso estende a duração da operação DELETE e gera um grande número de tarefas. Mantenha desativado, a menos que seja necessário.

disable_colocate_join

false

Se true, desativa o recurso Colocation Join. O plano de execução não tentará operações de Colocation Join.

enable_bucket_shuffle_join

true

Caso false, desativa o recurso Bucket Shuffle Join. O plano de execução não tentará operações de Bucket Shuffle Join.

disable_streaming_preaggregations

false

Quando true, desativa a pré-agregação em streaming. Esta variável não pode ser modificada.

enable_insert_strict

false

Se true, ativa o modo estrito para importações de dados via instrução INSERT.

enable_spilling

false

Quando true, habilita a ordenação em disco para grandes conjuntos de dados. Dados temporários são gravados no diretório doris-scratch/ no BE e limpos após a conclusão da consulta. Este recurso é experimental — não ative em produção.

forward_to_master

true

Se true, encaminha certas instruções SHOW para o nó FE mestre para execução. O nó FE mestre retorna informações mais detalhadas para SHOW FRONTENDS, SHOW BACKENDS, SHOW BROKER, SHOW TABLET, SHOW REPLICA DISTRIBUTION, SHOW REPLICA STATUS e SHOW PROC.

enable_profile

false

Caso true, envia o perfil da consulta para o FE após cada consulta. Visualize os perfis em fe_host:fe_http_port/query. A página exibe as 100 consultas mais recentes após a ativação desta variável.

rewrite_count_distinct_to_bitmap_hll

true

Quando true, substitui COUNT DISTINCT por BITMAP_UNION_COUNT ou HLL_UNION_AGG para dados bitmap ou HyperLogLog (HLL).

allow_partition_column_nullable

true

Se true, colunas de chave de partição podem ser definidas como NULL. Quando false, as colunas de chave de partição devem ser NOT NULL.

enable_exchange_node_parallel_merge

false

Caso true, o nó de troca usa múltiplas threads para mesclar dados ordenados em paralelo, reduzindo gargalos de mesclagem single-thread em grandes operações de ordenação.

extract_wide_range_expr

false

Quando true, habilita a extração de fator comum amplo.

enable_fold_constant_by_be

false

Se true, o dobramento de constantes ocorre no BE via requisições de chamada de procedimento remoto (RPC). Caso false, o dobramento de constantes executa no FE.

disable_join_reorder

false

Quando true, desativa todos os algoritmos automáticos de Join Reorder. As operações JOIN seguem a ordem das tabelas na instrução SQL.

enable_infer_predicate

true

Caso true, habilita a derivação de predicados. Se false, o ApsaraDB for SelectDB usa o predicado original sem derivação.

trim_tailing_spaces_for_external_table_query

false

Quando true, remove espaços à direita dos campos ao consultar tabelas externas Hive.

enable_inverted_index_query

true

Se true, índices invertidos são utilizados nas consultas.

skip_missing_version

false

Caso true, as consultas ignoram a versão visível registrada no FE e usam a versão da réplica do BE, pulando versões ausentes. Use apenas em cenários emergenciais de recuperação de dados. Esta variável só tem efeito quando use_fix_replica está definido como -1.

enable_parquet_lazy_materialization

true

Quando true, habilita materialização tardia para Parquet Reader.

enable_orc_lazy_materialization

true

Se true, habilita materialização tardia para ORC Reader.

enable_strong_consistency_read

true

Caso true, ativa consistência forte para leituras de dados entre sessões. Por padrão, a consistência forte é mantida apenas dentro da mesma sessão. Para ativar consistência forte entre sessões diferentes, defina esta variável como true.

truncate_char_or_varchar_columns

false

Quando true, trunca colunas CHAR e VARCHAR para o comprimento máximo definido no schema da tabela, mesmo que o arquivo Parquet ou ORC subjacente use um comprimento diferente.

jdbc_clickhouse_query_final

false

Se true, anexa a palavra-chave FINAL às consultas ClickHouse feitas via recurso JDBC Catalog, para deduplicação com o mecanismo de tabela ReplacingMergeTree.

enable_memtable_on_sink_node

false

Quando true, cria uma tabela de memória no nó Data Sink durante a importação e envia segmentos para outros nós BE via streaming bRPC, reduzindo trabalho duplicado entre réplicas.

enable_unique_key_partial_update

false

Caso true, habilita semântica de atualização parcial de colunas para INSERT INTO em tabelas de modelo Unique Key usando modo Merge on Write (MOW). Se tanto enable_unique_key_partial_update quanto enable_insert_strict forem true, INSERT INTO poderá apenas atualizar linhas existentes. Para inserir novas linhas com atualizações parciais de colunas, defina enable_unique_key_partial_update como true e enable_insert_strict como false.

describe_extend_variant_column

false

Quando true, exibe subcolunas para colunas do tipo VARIANT na saída de DESCRIBE.

dry_run_query

false

Se true, retorna apenas a contagem de linhas em vez do conjunto de resultados real. O nó Data Sink descarta os dados em vez de gravá-los. Útil para testar grandes conjuntos de dados sem a sobrecarga de transmissão de resultados.

drop_table_if_ctas_failed

true

Caso true, exclui a tabela criada se CREATE TABLE AS SELECT falhar devido a um erro de gravação.

show_user_default_role

false

Quando true, inclui a função implícita de cada usuário na saída de SHOW ROLES.

group_by_and_having_use_alias_first

false

Se true, as cláusulas GROUP BY e HAVING resolvem aliases de coluna antes de pesquisar na cláusula FROM.

enable_file_cache

false

Quando true, habilita o cache de arquivos de bloco. Esta variável só tem efeito se enable_file_cache=true também estiver definido no arquivo be.conf do BE.

enable_auto_analyze

true

Caso true, ativa a coleta automática de estatísticas.

enable_cost_based_join_reorder

false

Se true, habilita o Join Reorder baseado em custo para ajustar automaticamente a ordem das tabelas em operações JOIN.

enable_fallback_to_original_planner

false

Quando true, reverte automaticamente para o otimizador original quando o novo otimizador encontra cenários não suportados.

enable_odbc_transcation

false

Caso true, habilita suporte a transações para gravação de dados em um JDBC Catalog.

enable_parallel_outfile

false

Se true, ativa varredura paralela para SELECT INTO OUTFILE.

enable_sql_cache

false

Quando true, habilita o cache de resultados de instruções SQL.

enable_unicode_name_support

false

Caso true, suporta nomes de tabelas e colunas contendo caracteres Unicode (incluindo chinês).

enable_vectorized_engine

true

Se true, ativa o mecanismo vetorizado para acelerar consultas.

experimental_enable_nereids_planner

true

Quando true, habilita o novo otimizador (Nereids). Este recurso é experimental.

experimental_enable_pipeline_engine

true

Caso true, ativa o mecanismo de execução Pipeline. Este recurso é experimental.

experimental_enable_single_replica_insert

false

Se true, selecione uma réplica como primária para importação de dados. Outras réplicas baixam arquivos de dados da primária após a conclusão da gravação, reduzindo computação redundante entre réplicas.

faster_float_convert

false

Quando true, usa um algoritmo mais rápido para conversão de números de ponto flutuante. Note que este algoritmo pode alterar o formato de saída.

enable_page_cache

true

Caso true, habilita o cache no nível de página.

strict_mode

false

Se true, ativa o modo estrito para importação de dados.

Variáveis de configuração

Variáveis de configuração aceitam uma faixa de valores além de um simples true/false.

Variável

Padrão

Descrição

auto_broadcast_join_threshold

0.8

A proporção máxima de memória da tabela hash em relação à memória total de execução permitida para Broadcast Join. Quando a tabela hash excede essa proporção, o ApsaraDB for SelectDB muda para Shuffle Join. Defina como -1 para desativar totalmente o broadcast. Use uma dica de consulta como join[shuffle] para controlar explicitamente o método de junção.

batch_size

1024

Número de linhas por pacote transmitido entre nós durante uma consulta. Valores maiores aumentam o throughput para grandes varreduras, mas podem aumentar a latência e o uso de memória para consultas pequenas. Faixa recomendada: 1024–4096.

default_order_by_limit

-1

Quantidade padrão de linhas retornadas após ORDER BY. -1 significa sem limite (até o valor máximo de LONG).

exec_mem_limit

2 GB

Memória máxima para uma única consulta. Aceita unidades: bytes (padrão), KB, MB, GB, TB, PB. Limita a memória por instância de fragmento — não a memória total da consulta em todo o cluster. Se ocorrer um erro Memory Exceed Limit, aumente este valor exponencialmente (4 GB, 8 GB, 16 GB).

lower_case_table_names

0

Controla a sensibilidade a maiúsculas/minúsculas em nomes de tabelas. 0: Sensível a maiúsculas/minúsculas. 1: Insensível; nomes são armazenados e comparados em minúsculas. 2: Insensível; nomes são armazenados conforme especificado em CREATE TABLE, mas comparados em minúsculas. Deve ser definido em fe.conf durante a inicialização do cluster e não pode ser alterado posteriormente com SET.

max_pushdown_conditions_per_column

-1

Número máximo de condições de predicado enviadas ao mecanismo de armazenamento por coluna. -1 usa o valor de be.conf. Um valor positivo substitui be.conf para a sessão atual.

max_scan_key_num

-1

Quantidade máxima de chaves de varredura que um nó de varredura pode dividir por consulta. -1 usa o valor de be.conf. Um valor positivo substitui be.conf para a sessão atual.

parallel_exchange_instance_num

-1

Número de nós de troca que um nó upstream usa para receber dados de nós downstream. -1 corresponde ao número de instâncias downstream. Um valor positivo inferior à contagem de instâncias downstream limita o número de nós de troca, útil para reduzir sobrecarga em consultas agregadas com pequena saída agregada.

analyze_timeout

43200 s

Timeout para instruções ANALYZE, em segundos.

auto_analyze_end_time

Hora final da janela de coleta automática de estatísticas.

auto_analyze_start_time

Hora inicial da janela de coleta automática de estatísticas.

auto_analyze_table_width_threshold

70

Tabelas com mais colunas do que este limiar são excluídas da coleta automática de estatísticas.

div_precision_increment

4

Número de dígitos decimais adicionais adicionados ao resultado de operações de divisão /.

external_agg_bytes_threshold

Limiar de memória para operações de agregação. Quando excedido, os dados na memória são descarregados para o disco.

external_sort_bytes_threshold

Limiar de memória para operações de ordenação. Quando excedido, os dados na memória são descarregados para o disco.

external_table_auto_analyze_interval_in_millis

86400000 ms

Intervalo mínimo entre coletas automáticas de estatísticas para tabelas externas.

fragment_transmission_compression_codec

lz4

Formato de compressão usado durante a transmissão de dados entre nós.

huge_table_auto_analyze_interval_in_millis

0

Intervalo mínimo entre coletas automáticas de estatísticas para tabelas grandes (mais de 5 vezes o tamanho especificado por huge_table_lower_bound_size_in_bytes).

huge_table_default_sample_rows

4194304

Número de linhas amostradas para tabelas grandes durante a coleta automática de estatísticas.

huge_table_lower_bound_size_in_bytes

0

Tabelas maiores que este limiar são amostradas durante a coleta automática de estatísticas.

ignore_runtime_filter_ids

(vazio)

IDs de filtros de runtime a serem ignorados.

max_filter_ratio

0

Proporção máxima de linhas que podem ser filtradas durante a importação (por exemplo, linhas que falham na validação).

max_instance_num

64

Número máximo de tarefas Pipeline concorrentes por consulta SQL quando parallel_pipeline_task_num não está definido.

parallel_pipeline_task_num

0

Quantidade de tarefas Pipeline concorrentes por consulta SQL. Quando 0, o ApsaraDB for SelectDB define isso como metade dos núcleos de CPU em cada nó BE, até max_instance_num.

runtime_filter_type

IN ou Bloom filter

Tipo de filtro de runtime utilizado. Opções: Bloom filter, MinMax filter, predicado IN, IN ou Bloom filter, bitmap filter.

runtime_filter_mode

GLOBAL

Política de pushdown para filtros de runtime. Opções: OFF, LOCAL, GLOBAL.

runtime_filter_wait_time_ms

1000 ms

Duração que o nó de varredura da tabela esquerda aguarda por cada filtro de runtime.

runtime_filters_max_num

10

Quantidade máxima de Bloom filters por consulta.

runtime_bloom_filter_min_size

1048576 bytes (1 MB)

Tamanho mínimo de um Bloom filter.

runtime_bloom_filter_max_size

16777216 bytes (16 MB)

Tamanho máximo de um Bloom filter.

runtime_bloom_filter_size

2097152 bytes (2 MB)

Tamanho padrão de um Bloom filter.

runtime_filter_max_in_num

1024

Número máximo de linhas na tabela direita para as quais um predicado IN pode ser gerado.

parallel_fragment_exec_instance_num

1

Quantidade de instâncias processando intervalos de varredura em cada nó BE. Aumentar este valor melhora o throughput para grandes consultas, mas eleva o uso de CPU, memória e I/O de disco.

query_timeout

900 s

Timeout para todas as instruções de consulta na conexão atual. Para instruções INSERT, use insert_timeout em seu lugar.

insert_timeout

14400 s

Timeout para instruções INSERT. Se insert_timeout for menor que query_timeout, query_timeout será aplicado (para compatibilidade retroativa).

send_batch_parallelism

Concorrência padrão para envios de dados em lote durante operações INSERT. Limitado pelo item de configuração do BE max_send_batch_parallelism_per_job.

sql_mode

Controla a compatibilidade de sintaxe SQL e o rigor da validação de dados. Consulte SQL Mode.

sql_select_limit

(sem limite)

Número máximo padrão de linhas retornadas por SELECT, incluindo SELECT dentro de INSERT.

time_zone

Valor de system_time_zone

Fuso horário da sessão atual. Afeta os resultados de funções de tempo. Veja Variáveis de fuso horário.

wait_timeout

28800 s (8 h)

Timeout de conexão ociosa. O ApsaraDB for SelectDB fecha conexões que ficaram ociosas por mais tempo do que este período.

default_rowset_type

beta

Formato de armazenamento padrão para nós de computação. Valores válidos: alpha, beta.

use_v2_rollup

Controla se as consultas usam índices ROLLUP no formato Segment V2. Usado para verificação durante a migração para Segment V2.

prefer_join_method

Método de junção preferido quando Broadcast Join e Shuffle Join têm custo igual. Valores válidos: broadcast, shuffle.

insert_visible_timeout_ms

10000 ms

Tempo que o ApsaraDB for SelectDB aguarda para que uma transação seja confirmada e os dados se tornem visíveis após a conclusão de um INSERT. Valor mínimo: 1000 ms.

cpu_resource_limit

-1 (sem limite)

Limita o número de threads de varredura que uma consulta pode usar em um único nó. Substitui parallel_fragment_exec_instance_num. É substituído pela propriedade de usuário cpu_resource_limit. Este recurso é experimental.

return_object_data_as_binary

Quando true, retorna dados bitmap e HLL em formato binário nos resultados de SELECT. Para SELECT INTO OUTFILE, a saída CSV codifica como Base64; a saída Parquet armazena como array de bytes. Exemplo em Java: stmt.execute("set return_object_data_as_binary=true");. Para mais informações, veja samples.

block_encryption_mode

NULL

Modo de criptografia de bloco. AES_128_ECB usa o algoritmo Advanced Encryption Standard (AES). SM4_128_ECB usa o algoritmo ShangMi 4 (SM4). Consulte a descrição da variável para a lista completa de modos suportados.

default_password_lifetime

0 (nunca expira)

Período padrão de expiração de senha em dias. Aplica-se apenas a usuários com política PASSWORD_EXPIRE DEFAULT.

password_history

0 (sem limite)

Número de senhas anteriores retidas. Aplica-se apenas a usuários com política PASSWORD_HISTORY DEFAULT.

validate_password_policy

NONE (0)

Política de força de senha. STRONG (2) exige senhas de pelo menos 8 caracteres contendo pelo menos 3 dos seguintes: letras maiúsculas, letras minúsculas, dígitos e caracteres especiais (`~ ! @ # $ % ^ & * ( ) _ +

< > , . ? / : ; ' [ ] { } "`).

rewrite_or_to_in_predicate_threshold

2

Número mínimo de operadores OR antes de reescrever para um predicado IN.

file_cache_base_path

random

Caminho de armazenamento para o cache de arquivos de bloco no BE. O padrão é um caminho selecionado aleatoriamente da configuração do BE.

topn_opt_limit_threshold

1024

Limiar da cláusula LIMIT para ativar otimizações de consulta top-N (filtragem dinâmica, recuperação de resultados em duas fases, leituras ordenadas por chave). As otimizações aplicam-se quando n <= threshold.

use_fix_replica

-1 (desativado)

Quando definido como 0 ou superior, sempre usa a réplica com aquela classificação de número de série (0 = menor).

Variáveis compatíveis e reservadas

Estas variáveis não têm efeito funcional no ApsaraDB for SelectDB. Existem para compatibilidade com clientes MySQL ou pools de conexões JDBC.

Variável

Finalidade

SQL_AUTO_IS_NULL

Compatibilidade com o pool de conexões JDBC c3p0.

auto_increment_increment

Compatibilidade com cliente MySQL. Não afeta o comportamento de colunas auto-incremento.

auto_increment_offset

Compatibilidade com cliente MySQL. Não afeta o comportamento de colunas auto-incremento.

autocommit

Compatibilidade com cliente MySQL.

character_set_client

Compatibilidade com cliente MySQL.

character_set_connection

Compatibilidade com cliente MySQL.

character_set_results

Compatibilidade com cliente MySQL.

character_set_server

Compatibilidade com cliente MySQL.

collation_connection

Compatibilidade com cliente MySQL.

collation_database

Compatibilidade com cliente MySQL.

collation_server

Compatibilidade com cliente MySQL.

have_query_cache

Compatibilidade com cliente MySQL.

init_connect

Compatibilidade com cliente MySQL.

interactive_timeout

Compatibilidade com cliente MySQL.

language

Compatibilidade com cliente MySQL.

max_allowed_packet

Compatibilidade com o pool de conexões JDBC c3p0.

net_buffer_length

Compatibilidade com cliente MySQL.

net_read_timeout

Compatibilidade com cliente MySQL.

net_write_timeout

Compatibilidade com cliente MySQL.

query_cache_size

Compatibilidade com cliente MySQL.

query_cache_type

Compatibilidade com o pool de conexões JDBC c3p0.

sql_safe_updates

Compatibilidade com cliente MySQL.

tx_isolation

Compatibilidade com cliente MySQL.

tx_read_only

Compatibilidade com cliente MySQL.

transaction_read_only

Compatibilidade com cliente MySQL.

transaction_isolation

Compatibilidade com cliente MySQL.

version

Compatibilidade com cliente MySQL.

performance_schema

Compatibilidade com MySQL JDBC 8.0.16 e posterior.

codegen_level

Define o nível de codegen LLVM. Não tem efeito.

license

Exibe a licença do ApsaraDB for SelectDB.

resource_group

Reservado.

system_time_zone

Definido como o fuso horário do sistema na inicialização do cluster. Não pode ser modificado.

version_comment

Exibe a versão do ApsaraDB for SelectDB. Não pode ser modificado.

dump_nereids_memo

Usado para testes de regressão.

group_concat_max_len

Compatibilidade com algumas ferramentas de business intelligence (BI).

be_number_for_test

Sem efeito prático.

workload_group

Reservado.

Referências