Todos os produtos
Search
Central de documentação

PolarDB:PolarDB for MySQL 8.0.1 release notes

Última atualização: Nov 03, 2026

Este tópico apresenta as notas de versão do PolarDB for MySQL 8.0.1.

2026

8.0.1.1.58 (2026.10.24)

Novos recursos

Descrição

  • O In-Memory Column Index (IMCI) adiciona um recurso leve de compactação em memória para dados numéricos, reduzindo o uso de cache relacionado ao column store.

  • Adicionamos suporte à definição de índices secundários, recuperação de atualizações e operações de importação e exportação em visões materializadas.

Otimizações de desempenho

Descrição

  • Otimizamos a eficiência de execução de operações de ordenação completa com alto grau de paralelismo.

  • Otimizamos o plano de execução do In-Memory Column Index (IMCI) para subconsultas de agregação escalar relevantes. As agregações correlacionadas que podem reutilizar dados de detalhes externos são reescritas como agregações de janela, o que reutiliza os resultados de varredura e reduz as varreduras repetidas da tabela base e a sobrecarga de junção.

  • O Orca (compatible with the Redis protocol) otimiza a reutilização de MDL e tabelas de dicionário em nós somente leitura do Orca para economizar recursos de CPU.

  • Otimizamos o desempenho de acesso às tabelas InnoDB para reduzir a contenção de bloqueios internos em cenários de alta concorrência.

Correções de bugs

Descrição

  • Corrigimos um problema em que a fila de logs do In-Memory Column Index (IMCI)Hybrid Plan ficava cheia e podia formar uma espera circular com o bloqueio do sistema de transações, causando a interrupção e a falha da replicação de réplicas.

  • Corrigimos uma falha que podia ocorrer quando o In-Memory Column Index (IMCI)Hybrid Plan desserializava expressões de colunas geradas virtuais em cenários MPP.

  • Resolvemos uma questão em que a reconstrução de índice de texto completo (FTS) e o failover entre primário e secundário podiam bloquear a liberação de páginas sujas (dirty page flushing).

  • Corrigimos um problema em que as consultas paralelas do In-Memory Column Index (IMCI) atingiam o tempo limite porque o QuickSelect e o Join esperavam um pelo outro.

  • Corrigimos um problema em que, durante a redução do buffer pool do InnoDB, uma MTR (Mini-Transaction) desfixava páginas prematuramente e depois liberava bloqueios de página, o que podia acessar bloqueios inválidos e causar a saída inesperada de um nó somente leitura.

  • Reparamos um defeito em que as alterações de DDL realizadas durante a fase de reinicialização de um nó somente leitura do In-Memory Column Index (IMCI) eram bloqueadas quando o NCI da coluna alterada estava na fase de recuperação em segundo plano, causando atraso na replicação.

  • Corrigimos um problema em que os nós standby internos de um cluster secundário GDN podiam falhar inesperadamente durante a replicação física.

  • Corrigimos um problema em que a execução de ADD INDEX em um índice secundário de uma visão materializada após a conclusão da atualização acionava um erro interno de coluna oculta não encontrada.

  • O PolarDB corrigiu um problema em que uma operação KILL que interrompia a limpeza de tabelas auxiliares durante a exclusão de índice de texto completo DDL causava a falha do cluster.

  • Corrigimos um problema em que tabelas únicas do OSS criadas em versões anteriores não persistiam as informações de conexão, causando erros de acesso após uma atualização.

  • Resolvemos um problema em que o estado residual de resumo de conexão fazia com que as constantes LIMIT em consultas subsequentes fossem parametrizadas incorretamente.

  • Corrigimos um problema em que um nó somente leitura podia acessar um tablespace de undo inválido durante a inicialização sob alta pressão de gravação em um cluster.

  • Corrigimos problemas de correspondência de outline/CCL causados pela normalização incompleta de literais ORDER BY/GROUP BY, preservando o comportamento de compatibilidade existente para itens BY inteiros.

  • Corrigimos um problema em que as leituras SCC do Orca (compatible with the Redis protocol) reutilizavam uma visão de leitura antiga, o que invalidava a consistência.

  • Corrigimos um problema em que tabelas particionadas LIST COLUMNS falhavam quando a operação REORGANIZE PARTITION era executada nas partições.

  • Reparamos um possível problema de uso de memória após liberação (UAF) nos metadados de baixo nível do InnoDB que podia acionar uma falha após a execução de DDL.

  • Corrigimos um problema de concorrência entre a replicação de logs DDL e as tarefas em segundo plano no cluster secundário do High-Compression Engine (X-Engine).

  • Corrigimos um problema em que um grande número de pools de threads em segundo plano do In-Memory Column Index (IMCI) podia causar sobrecarga adicional de CPU.

  • Reparamos um defeito em que as operações do sistema de arquivos podiam falhar quando um DDL de uma gravação e múltiplas leituras era executado simultaneamente com a recuperação de índice de coluna no In-Memory Column Index (IMCI).

  • Corrigimos um problema em que consultas em um nó somente leitura que acionavam end_range podiam falhar ao consultar campos BLOB.

  • Corrigimos um problema em que a atualização do cache de privilégios podia causar a falha do mysqld quando mysql.global_grants continha strings vazias.

  • Corrigimos um problema em que o comentário ttl do Data Cleanup (TTL) se tornava inválido.

  • Corrigimos um problema em que o CREATE TABLE LIKE perdia informações de TTL. Adicionamos a observabilidade de TTL, que permite consultar as informações de todas as tabelas com TTL habilitado por meio de tabelas do sistema.

  • Corrigimos uma falha ocasional de cluster (SIGSEGV) que ocorria quando uma atualização COMPLETE de uma visão materializada coincidia com varreduras ordenadas simultâneas de tabelas particionadas, porque o ciclo de vida do plano de execução de atualização (QEP) era invertido e a destruição entre sessões descartava a fila de varredura ordenada de partição que ainda estava em uso.

  • Corrigimos um problema em que a conversão rápida de uma tabela regular que continha colunas INSTANT ou índices In-Memory Column Index (IMCI) para uma tabela particionada falhava e o índice resultante ficava incompleto.

  • Resolvemos um problema em que as atualizações otimizadas de BLOB não incluíam a sinalização de recuperação de LOB, o que podia causar vazamentos de espaço.

  • Corrigimos um problema em que uma reinicialização após a troca direta de uma partição que continha colunas INSTANT podia ler valores padrão incorretos.

  • Corrigimos um problema em que a atualização do cache de funções podia causar a falha do mysqld quando mysql.role_edges continha strings vazias.

  • Corrigimos um problema em que os nós podiam sair inesperadamente após a habilitação do recurso de estatísticas de espaço ocioso em um cluster multi-master.

  • Corrigimos um problema em que referências residuais de tabelas temporárias após a limpeza de CTE recursiva causavam interrupção anormal durante a fase de otimização.

  • Corrigimos um problema em que a limpeza de dados históricos após a reconstrução de uma visão materializada podia atingir o tempo limite.

  • Corrigimos um problema em que a troca de RowBuf do In-Memory Column Index (IMCI) podia travar após uma reinicialização devido à falta de metadados.

  • Corrigimos um problema em que os erros de avaliação de uma subconsulta escalar em uma expressão ORDER BY que entrava na ordenação Top-N do filesort não eram propagados a tempo, o que podia causar a falha do mysqld.

  • Corrigimos um problema em que o estouro de cálculo de comprimento de resultado do REGEXP_REPLACE em cenários LONGBLOB causava a falha do CTAS.

  • Corrigimos um problema em que o nó standby global de um cluster multi-master podia sair inesperadamente em cenários específicos.

  • Corrigimos um problema em que as leituras fortemente consistentes do Orca (compatible with the Redis protocol) podiam esperar mais do que o esperado.

  • Corrigimos um problema em que o CREATE VIEW podia gravar uma subconsulta com collations conflitantes, o que causava a falha de operações subsequentes de SHOW/CHECK.

  • Corrigimos uma falha de servidor que podia ser acionada quando a normalização de DISTINCT/GROUP BY atualizava os mapeamentos de dependência de subconsultas.

  • Corrigimos um problema em que o EXPLAIN/EXPLAIN FORMAT=JSON podia consumir referências ativas de CTE expiradas ao imprimir planos CTE e acionar um SIGSEGV do mysqld.

  • Corrigimos um problema em que podiam ocorrer falhas quando as colunas de projeção continham funções de janela em cenários de subconsultas aninhadas em vários níveis.

  • Corrigimos um problema em que o pushdown de condição de tabela derivada podia causar exceções no cluster em cenários específicos de subconsultas.

  • Corrigimos um problema em que o In-Memory Column Index (IMCI) podia acessar um ponteiro nulo ao executar consultas que continham a função SHA2, o que tornava o cluster indisponível.

  • Corrigimos um problema em que consultas complexas ocasionalmente falhavam na execução após a mesclagem de tabelas derivadas.

  • Corrigimos um problema em que as consultas paralelas do column store do In-Memory Column Index (IMCI) ocasionalmente falhavam ao analisar pacotes de resultados ao reutilizar o cache.

8.0.1.1.57 (2026.09.15)

Novos recursos

Descrição

  • Adicionamos a liberação de páginas sujas com assistência do PolarFS. Os nós RW habilitam automaticamente essa configuração na inicialização, eliminando a necessidade de configuração manual.

  • Adicionamos suporte para pontuação BM25, consultas de frases, consultas compostas e sinônimos em índices de texto completo do In-Memory Column Index (IMCI).

  • Adicionamos uma otimização de dicionário local AdaptHashAggr para o In-Memory Column Index (IMCI) em GROUP BY. A variável de sessão imci_enable_adapt_hash_aggr_local_dict é desabilitada por padrão. Quando habilitada, ela reduz as sondagens repetidas da tabela hash para consultas diretas de TableScan que agrupam de uma a quatro colunas de string do dicionário local do pacote atual, melhorando o desempenho de agregação GROUP BY para strings de baixa cardinalidade sem alterar a semântica da consulta.

  • O Orca (compatible with the Redis protocol) adiciona suporte para a estrutura de dados de cardinalidade probabilística HyperLogLog do protocolo nativo do Redis.

  • O recurso hot row optimization agora suporta flush status para atualizar estatísticas, facilitando a observação de alterações incrementais durante os testes.

Otimizações de desempenho

Descrição

  • Otimizamos consultas que contêm grandes listas IN.

  • Otimizamos o tempo de retenção de bloqueio do SHOW BINARY LOGS para evitar que varreduras de grandes arquivos de log binário afetem as confirmações de transações.

  • Otimizamos o consumo de memória do information_schema.INNODB_LOG_INFO para reduzir a sobrecarga quando os redo logs se acumulam.

  • Otimizamos as consultas de paginação profunda no In-Memory Column Index (IMCI) adicionando o modo de execução QuickSelect TopK para substituir a ordenação completa, o que reduz a sobrecarga de ordenação para grandes offsets e conjuntos de resultados.

Correções de bugs

Descrição

  • Corrigimos um problema em que operações simultâneas de DROP DATABASE e SHOW ENGINE INNODB STATUS em um cenário multi-master podiam ler páginas de bloqueio DD inválidas e causar a falha de um nó RW.

  • Corrigimos um problema em que os predicados de subconsulta comparativos ALL ou ANY sob NOT(NOT...) podiam avaliar silenciosamente TRUE como FALSE. Também adicionamos cobertura de teste em main.all_any_double_not para cenários de pushdown de clone/PQ, matriz de comparação, NULL/vazio e prepared statements.

  • Corrigimos um problema em que uma sessão ociosa em um cenário Hybrid Plan armazenava em cache uma ReadView antiga e impedia o progresso do Undo Purge.

  • Corrigimos uma falha de processo durante a otimização de consulta quando o cabeçalho de um arquivo .tab_stat do In-Memory Column Index (IMCI) estava danificado. O sistema agora degrada graciosamente para estatísticas vazias após uma falha de validação de leitura e grava arquivos de estatísticas atomicamente.

  • Corrigimos o GROUP BY quando consultas paralelas aplicavam ORDER BY ou ERROR 3142 Invalid JSON text aos resultados de funções JSON com pushdown, e o JSON binário era truncado incorretamente pelo conjunto de caracteres durante a clonagem de campos da tabela de troca.

  • Corrigimos uma falha em que exceções ocasionais de replicação em um nó somente leitura que usa High-Compression Engine (X-Engine) deixavam referências de metadados inconsistentes com as de um nó RW.

  • Corrigimos uma falha do mysqld em que a agregação SELECT DISTINCT em uma consulta ORDER BY era publicada incorretamente como uma chave de grupo de tabela temporária.

  • Corrigimos um problema em que a travessia completa de metadados de partição de uma tabela particionada LIST DEFAULT omitia a partição padrão.

  • Resolvemos um problema em que atualizações frequentes em páginas quentes (hot pages) em um nó RW podiam permitir que um nó RO lesse dados futuros.

  • Corrigimos um problema em que prepared statements podiam sofrer fallback em tempo de execução porque a ordenação adaptativa não era suportada, fazendo com que as consultas ORDER BY LIMIT escolhessem um índice de ordenação e ficassem lentas.

  • Corrigimos um problema em que uma consulta de prefixo de índice composto em uma tabela subparticionada LIST DEFAULT podia omitir incorretamente dados da partição DEFAULT.

  • Corrigimos um problema de compatibilidade em que o dimensionamento elástico em um cenário multi-master Serverless podia gerar I/O e causar uma falha.

  • Corrigimos uma asserção com um EXISTS vazio em IN porque subconsultas escalares, aninhadas, fix_fields e TABLE em parâmetros de Native Procedure não eram rejeitadas a tempo.

  • Corrigimos um problema em que uma consulta que usava apenas uma chave de partição hash secundária podia omitir dados de uma partição LIST DEFAULT.

  • Corrigimos um problema em que as consultas de índice secundário perdiam linhas intermitentemente após a execução de index_merge em uma tabela particionada.

  • Corrigimos uma falha de processo de banco de dados causada pelo DuplicateWeedout ao acessar registros não inicializados quando selecionava um plano de tabela externa temporária, evitando o acesso fora dos limites aos registros da tabela temporária.

  • Corrigimos o alinhamento de tipo incorreto para operações de não-equijoin que usam uma junção de versão de formato de linha In-Memory Column Index (IMCI).

  • Corrigimos uma falha de processo de servidor que podia ocorrer quando prepared statements remote_exec_cmd eram executadas repetidamente em um cenário multi-master.

  • Corrigimos um problema em que identificadores de schema e tabela excessivamente longos em dbms_dts não eram validados, o que permitia que chegassem ao processamento de metadados e acionassem asserções.

  • Adicionamos suporte a In-Memory Column Index (IMCI) no JSON hybrid index (mode = 3), permitindo que expressões como json_contains_path/json_unquote/json_type/json_length/json_keys/json_depth usem o índice para aceleração, e estendendo json_overlaps/json_contains/json_extract para suportar pesquisas de objetos e matrizes de objetos.

  • Corrigimos uma falha de servidor quando uma sessão sem um banco de dados padrão acessava uma visão DEFINER com uma função padrão ativa.

  • Corrigimos a duração excessiva do bloqueio MDL X causada pela limpeza lenta de informações de índice auxiliar durante o DDL quando o AHI estava habilitado.

  • Corrigimos um problema em que a ordem de validação de operações DDL de partição híbrida no In-Memory Column Index (IMCI) retornava um código de erro incorreto, mantendo o tratamento de erros esperado do mecanismo de armazenamento.

  • Corrigimos uma falha de processo causada pela perda de metadados temporais no pushdown de condição derivada para LEAST() ou GREATEST().

  • Corrigimos falhas de registro quando um nó RO local em um cenário multi-master mudava para RW antes que o nó RW original concluísse o offlining assíncrono no CC.

  • Corrigimos um problema em que arquivos incompletos deixados após a falha na inicialização do redo log causavam a falha de novas tentativas e podiam travar o cluster.

  • Corrigimos um problema em que SQL dinâmico executado com PREPARE e EXECUTE em stored procedures gerava registros extras de log de auditoria e contagens cumulativas de linhas varridas.

  • Corrigimos um loop infinito de troca de rowbuf quando a compactação de classificação do In-Memory Column Index (IMCI) tinha IDs de linha pré-alocados que não eram processados durante o desligamento, e corrigimos checkpoints NCI incompletos causados por checkpoints simultâneos e DROP INDEX.

  • Corrigimos uma exceção de ponteiro nulo quando a poda de colunas de consulta simultânea após o In-Memory Column Index (IMCI) acessava uma nova coluna com metadados inconsistentes com a versão antiga no instant column addition.

  • Corrigimos um vazamento de memória que podia ocorrer quando um cluster multi-master com estatísticas de espaço ocioso habilitadas era desligado.

  • Corrigimos um problema em que o módulo Físico no agendamento de memória do In-Memory Column Index (IMCI) não limitava as concessões por solicitação e margem de marca d'água, causando amplificação de memória LRU e vazamentos de memória cgroup.

  • Corrigimos um problema em que a mesclagem global de logs podia pausar durante o DDL paralelo multithread, como OPTIMIZE, em um cenário multi-master.

8.0.1.1.56.1(2026.08.16) & 8.0.1.1.56 (2026-08-07)

Novos recursos

Descrição

  • O In-Memory Column Index (IMCI) adiciona o operador QuickSelect, que usa o algoritmo quickselect O(n) para suportar eficientemente consultas de quantis e evitar a sobrecarga da ordenação completa.

  • O AutoETL do PolarDB suporta atualizações no local de visões e links (inplace-update), autorização de sincronização multi-cluster, parâmetros ETL personalizados e sincronização global de metadados.

  • O Orca (compatible with the Redis protocol) suporta o comando monitor do Redis, que retorna todos os comandos processados pelo Orca.

  • O Orca suporta a estrutura de dados Stream, incluindo 15 comandos do Redis, como XADD, XDEL, XLEN, XRANGE, XREAD e XREVRANGE.

  • O Orca adiciona suporte para comandos relacionados ao tipo de dados de índices geoespaciais do Redis.

Otimizações de desempenho

Descrição

  • Otimizamos as estratégias de roubo de tarefas de múltiplas filas e balanceamento de carga do Simulated AIO e do Processador Orca.

  • Para consultas que usam a função IMCI em colunas com um índice de texto completo JSON_OVERLAP, o otimizador pode usar informações do índice para estimar a cardinalidade com precisão.

Correções de bugs

Descrição

  • Corrigimos um defeito de tempo entre a abertura adiada de tabelas temporárias MEMORY para CTEs compartilhadas e a otimização de intervalo secundário skip-sort.

  • Corrigimos um problema em que consultas de frases ngram do InnoDB FTS podiam retornar resultados incompletos quando o LIMIT era usado.

  • Corrigimos um problema em que reduções de escala (scale-ins) consecutivas de um cluster Serverless acionavam uma redução online do buffer pool que travava por muito tempo, causando o travamento ou a falha do cluster.

  • Corrigimos um problema em que uma consulta GROUP BY com uma cláusula HAVING com alias podia causar uma falha sob consulta paralela.

  • Corrigimos um problema em que um nó somente leitura podia reiniciar inesperadamente quando o multiversionamento e a análise paralela de logs estavam habilitados.

  • Corrigimos um problema em que o INSERT ON DUPLICATE KEY UPDATE podia atualizar a linha errada quando várias sessões inseriam dados simultaneamente em uma tabela que continha uma coluna de incremento automático.

  • Corrigimos um problema em que o PolarDB podia usar uma sequência de leitura Hybrid Plan invalidada ao reutilizar uma Shared Read View em cenários IMCI. Isso evita anomalias de visibilidade nos resultados da consulta causadas pela reutilização de uma sequência de confirmação antiga após o fechamento das referências extras de uma visão de leitura.

  • Corrigimos um problema em que, após um failover de HA, gravações subsequentes ou criação de índice em cenários com abertura adiada de tablespace podiam causar a saída inesperada do cluster.

  • Corrigimos um problema em que, quando um bloqueio MDL não podia ser obtido durante a fase DD SCAN, apenas um erro era relatado e os dados do IMCI não podiam ser recuperados.

  • Corrigimos um problema em que a execução repetida de pré-processamento de visão para funções de janela causava uma falha.

  • Corrigimos uma falha de ponteiro nulo na estimativa de custo do DynamicRangeIterator quando uma subconsulta em um worker de consulta paralela usava skip_scan.

  • Corrigimos um problema em que, para tabelas que continham caracteres especiais, o acesso subsequente ao cluster falhava após a falha de uma instrução DDL.

  • Corrigimos um problema em que o acesso simultâneo a objetos page_hash obsoletos durante um redimensionamento online do buffer pool do InnoDB causava a falha do mysqld.

  • Corrigimos um problema em que a execução de consultas de detalhes que continham campos grandes no IMCI podia falhar devido à memória insuficiente.

  • Corrigimos um problema em que operações simultâneas de com_change_user e consultas show processlist/is.processlist causavam a falha do cluster.

  • Corrigimos um problema em que gravações de redo split incompletas do IMCI impediam o avanço do checkpoint_lsn.

  • Corrigimos um problema em que, para tabelas grandes do High-Compression Engine (X-Engine), um grande desvio de index dive em consultas RANGE causava a seleção de um plano de execução incorreto.

  • Corrigimos um problema em que o IMCI podia falhar ao executar instruções SQL que continham ROLLUP ou funções de janela.

  • Corrigimos um problema em que o DBMS_DTS show_parallel_ranges com um argumento NULL podia causar a saída inesperada do cluster.

  • Corrigimos um problema em que o prefetch de múltiplas colunas do rowbuf do IMCI, sob pressão de memória, gerava caches de pacotes com dados ausentes, causando inconsistências entre o row store e o column store em consultas colunares.

  • Corrigimos erros que podiam ocorrer quando o recurso de importação rápida para restauração de banco de dados e tabelas acessava campos BLOB.

  • Corrigimos um problema em que, para tabelas com um alto número de valores distintos (NDV), a função ANY_VALUE em colunas de string podia retornar incorretamente valores NULL quando o GROUP BY era executado.

  • Corrigimos um problema em que uma consulta podia falhar quando uma subconsulta de UNION ou UNION ALL com GROUP BY retornava uma string constante.

  • Corrigimos um problema em que ocorria um erro de falta de memória (OOM) durante a fase de aplicação incremental de uma operação DDL quando muitos rowlogs de DDL no local se acumulavam.

  • Corrigimos um problema em que, em alguns casos, as funções de janela não podiam ser executadas no IMCI, e o pushdown de GROUP BY podia impedir que as consultas fossem executadas no IMCI.

  • Corrigimos um problema em que o innodb_polar_log_rdma_transfer não podia ser modificado dinamicamente após o parâmetro innodb_log_buffer_size ser desabilitado dinamicamente.

  • Corrigimos um cenário de leitura fora dos limites de quadros de janela (window frames) para funções de janela, melhorando a lógica de tratamento de limites.

  • Corrigimos um problema em que o otimizador híbrido podia causar uma falha no cluster devido a um plano de semijoin anormal.

8.0.1.1.55.3 (2026-07-25) & 8.0.1.1.55.2 (2026-07-18)

Correções de bugs

Descrição

  • Corrigimos o problema em que a perda ocasional de registros de exclusão no In-Memory Column Index (IMCI) causava falhas em nós somente leitura e inconsistência de dados entre o row store e o column store.

8.0.1.1.55.1 (2026-06-28) & 8.0.1.1.55 (2026-06-18)

Novos recursos

Descrição

  • Adicionamos o recurso incremental refresh for materialized views. Este recurso é uma evolução da atualização completa de visões materializadas, suporta atualizações incrementais e melhora significativamente o desempenho de atualização de visões materializadas.

  • Os índices de texto completo do In-Memory Column Index (IMCI) agora suportam dicionários personalizados, permitindo que você use dicionários específicos do negócio para melhorar a qualidade de recuperação de textos em chinês e nomes próprios.

  • O Orca (Redis-Compatible) suporta o recurso multi-DB do Redis, com suporte para até 16 DBs lógicos.

  • As visões materializadas agora suportam a criação de um In-Memory Column Index (IMCI) com chaves de ordenação para otimizar ainda mais o desempenho de suas consultas.

  • Adicionamos uma nova chave para habilitar o recurso Data Cleanup (TTL) de gravar em logs binários. Essa chave é desabilitada por padrão. Quando habilitada, ela permite sincronizar eventos de exclusão TTL com sistemas downstream usando logs binários para garantir a consistência dos dados entre os sistemas upstream e downstream.

  • O Orca (Redis-Compatible) adiciona cinco comandos de bloqueio (BLMOVE, BLMPOP, BZMPOP, BZPOPMAX e BZPOPMIN) para melhorar a compatibilidade com o protocolo Redis.

  • Adicionamos um recurso que permite que as consultas do IMCI façam pushdown de GROUP BY durante a fase de otimização, otimizando o desempenho da consulta por meio do pushdown de operações de agregação.

  • Adicionamos a sintaxe EXPLAIN ANALYZE IMCI. Isso ajuda a diagnosticar os estados intermediários dos planos de execução SQL e a identificar por que uma instrução SQL falha ao usar um plano de execução de mecanismo vetorizado.

  • Adicionamos suporte para o uso de adaptive selection of ordered indexes várias vezes em uma instrução e corrigimos um problema em que a ordenação adaptativa falhava em cenários específicos.

Otimizações de desempenho

Descrição

  • O armazenamento IMCI, com a codificação de dicionário local habilitada por padrão, suporta reescrita e otimização de consultas para colunas de string que usam essa codificação, melhorando o desempenho de consultas do columnstore.

  • Otimizamos a eficiência de execução de instruções SQL que seguem o padrão GROUP BY... ORDER BY... LIMIT k. O operador TopAgg é usado para podar operações de agrupamento e agregação, mantendo apenas K elementos. Isso reduz significativamente o tempo de consulta em cenários com grandes volumes de dados e agrupamento.

  • Aprimoramos os recursos de análise de desempenho do EXPLAIN ANALYZE do In-Memory Column Index (IMCI) adicionando métricas como a taxa de spill-to-disk de junção e o comprimento da chave de junção para facilitar a identificação de consultas lentas.

  • Otimizamos o desempenho do HashJoin do In-Memory Column Index (IMCI) convertendo os resultados intermediários da junção para um formato de linha, reduzindo a sobrecarga de materialização.

Correções de bugs

Descrição

  • Corrigimos uma possível falha que ocorria quando uma visão materializada incremental lia metadados de partição em uma tabela particionada híbrida.

  • Corrigimos uma possível falha do processo mysqld. Esse problema era causado pela reutilização incorreta de memória relacionada a hints SQL, como SET_VAR, quando uma stored procedure era chamada várias vezes.

  • Corrigimos uma falha que ocorria ao executar uma instrução Online DDL em uma tabela com um índice de coluna virtual.

  • Corrigimos um problema em que a memória do IMCI podia vazar do cache RowBuf LRU_RB_BLOCK em um caminho de falha de inserção, impedindo que a memória do RowBuf Block Cache crescesse continuamente além de sua capacidade esperada.

  • Corrigimos uma falha de processo causada pelo acesso simultâneo a um MDL Ticket durante a execução do Elastic Parallel Query.

  • Corrigimos um problema em que múltiplas threads podiam sofrer deadlock dentro de uma B-tree quando a consulta paralela estava habilitada no nó primário.

  • Corrigimos um problema em que uma operação LOAD DATA com falha causava um estado de sessão anormal, levando a erros em instruções INSERT válidas subsequentes.

  • Corrigimos um vazamento de memória que podia ocorrer em casos raros quando o Parallel Parse estava habilitado.

  • Corrigimos um problema em que o filesort às vezes era ignorado incorretamente para uma TempTable com um índice classificado, resultando em uma ordem de resultado incorreta.

  • Corrigimos um problema em que o controle de uso total de disco para tabelas temporárias não excluía usuários com permissões Super.

  • Corrigimos uma falha de análise no link de sincronização DTS para um cluster PolarDB downstream. Esse problema ocorria quando a sintaxe estendida PolarDBALTER, como converter uma única tabela em uma tabela particionada, era encapsulada por comentários DMS.

  • Corrigimos um problema com a limitação de taxa adaptativa imprecisa para DDL Bulk Load e otimizamos o algoritmo de limitação de taxa adaptativa.

  • Corrigimos um problema em que um erro no roteamento de estouro de tamanho de página durante a limpeza de metadados RowBuf do IMCI causava gravações sujas, o que levava as tarefas subsequentes em segundo plano a acionar um Assert ou uma falha.

  • Corrigimos um problema em que o High-Compression Engine (X-Engine) falhava quando você executava manualmente ANALYZE TABLE em uma tabela particionada para coletar estatísticas.

  • Corrigimos um problema em que a ordem declarada em uma cláusula ORDER BY não era aplicada em alguns cenários. Esta versão também otimiza o tratamento de predicados para Loose Index Scan (LIS) em consultas agrupadas.

  • Corrigimos um problema em que um nó local somente leitura em um Multi-master Cluster falhava ao pular os redo logs de outros nós master quando o Parallel Parse estava habilitado.

  • Corrigimos um problema em que o In-Memory Column Index (IMCI) se tornava inválido e indisponível após a execução de uma instrução DDL em uma tabela particionada para modificar o comentário da tabela, adicionar um In-Memory Column Index (IMCI) e, simultaneamente, adicionar um índice secundário regular.

  • Corrigimos um problema em que uma consulta do column store usando Hybrid Index Search com uma cláusula LIMIT podia sofrer fallback para um row store quando o LIMIT OFFSET era muito grande.

  • Corrigimos um problema em que o dummy_index podia causar exceções de aplicação em um nó somente leitura (RO) quando a otimização de compartilhamento INSTANT ADD COLUMN estava habilitada.

  • Corrigimos um problema no In-Memory Column Index (IMCI) em que um Hybrid Plan podia causar a falha do cluster quando uma Read View era revogada.

  • Corrigimos um problema em que redo logs aplicados de forma incompleta podiam causar inconsistência de dados para o High-compression Engine (X-Engine) durante a recuperação de banco de dados e tabelas (como PITR e clonagem), garantindo a integridade dos dados após a restauração.

  • Corrigimos vários problemas de incompatibilidade que ocorriam em Multi-master Clusters quando o Parallel Parse estava habilitado.

  • Corrigimos um problema de escape incorreto de string que podia ocorrer quando o AutoETL do PolarDB criava uma visão de pesquisa contendo um ETL_UDF.

  • Corrigimos um problema em que o tempo de espera de bloqueio de linha de tabela para o mecanismo X-Engine não era incluído no tempo de espera de bloqueio do log de consultas lentas do sistema.

  • Corrigimos um problema com planos de execução sub-ótimos. Isso era causado por uma estimativa de limite incorreta quando uma consulta do column store com uma lista IN de múltiplas colunas, como WHERE (a,b) IN (...), era convertida para um semi-join.

  • Corrigimos um problema em que os registros de histórico para tarefas do Data cleanup (TTL) falhavam ao serem gravados durante uma atualização do cluster, garantindo que as informações de histórico TTL possam ser visualizadas e limpas.

  • Corrigimos um problema em que a purga de logs binários durante a inicialização do MySQL Community Edition podia levar a um Previous_gtid incorreto.

  • Corrigimos um problema em que o Query Cache acionava prematuramente uma espera global consistency (high-performance mode) do InnoDB, o que causava tempos limite de atraso de replicação em nós somente leitura do In-Memory Column Index (IMCI).

  • Corrigimos um problema no Orca (Redis-Compatible) em que scripts Lua podiam causar um vazamento de memória sob condições de erro esporádicas.

  • Corrigimos um possível erro nos resultados de consultas paralelas quando a consulta continha uma condição IS NULL.

  • Corrigimos um problema em que o Hash Field-TTL do Orca (Redis-protocol compatible) podia atualizar incorretamente os metadados durante a fase Purge.

  • Corrigimos um problema com o recurso Orca (compatible with the Redis protocol) em que o resultado do comando DUMP não era reconhecido por versões anteriores do Redis (<7.4.0).

  • Corrigimos uma falha no MySQL Community Edition. Isso era causado por uma exceção ao atualizar um índice espacial que também era um índice secundário.

8.0.1.1.54.1 (2026-05-08)

Correções de bugs

Descrição

  • Adicionamos um novo parâmetro, mm_enable_wait_binlog_flush, para permitir que o Multi-master Cluster (Limitless) Edition espere que o log binário seja liberado para o disco, o que resolve possíveis problemas de consistência de dados causados pela liberação assíncrona de logs binários.

  • Corrigimos um problema em que um Multi-master Cluster (Limitless) Edition falhava quando o DROP TABLE era executado em uma tabela CSV que usava o recurso de arquivamento de dados frios.

8.0.1.1.54 (2026-03-24)

Novos recursos

Descrição

  • Adicionamos o recurso Search View para o PolarSearch, que habilita o Auto-ETL do PolarDB for MySQL para o PolarSearch e simplifica a sincronização de dados.

  • O formato tradicional de tabela compactada do InnoDB apresenta risco de corrupção de dados quando o BLOCK_SIZE é menor que 4. Adicionamos a variável de sistema polar_compressed_table_policy para controlar a política de compactação de novas tabelas.

    • NATIVE: Executa a operação como está.

    • ADJUST_KEY_BLOCK_SIZE (padrão): Permite a criação da tabela e corrige automaticamente o KEY_BLOCK_SIZE se for menor que 4.

    • AUTO_CONVERT_ROW_FORMAT: Converte silenciosamente a tabela para o formato de linha padrão.

    • REJECTED: Rejeita a operação e relata um erro.

    Nota
    • Esta política se aplica apenas a novas tabelas compactadas. As tabelas compactadas existentes não são afetadas.

    • Para clusters com uma versão de kernel anterior a 8.0.1.1.54, recomendamos que você não crie tabelas compactadas InnoDB com um BLOCK_SIZE menor que 4.

  • Agora você pode usar a expressão ask_polar para se conectar diretamente ao Alibaba Cloud Model Studio.

  • O recurso Data Cleanup (TTL) agora suporta campos DATETIME (anteriormente, apenas campos TIMESTAMP eram suportados).

Otimizações de desempenho

Descrição

  • Otimizamos a velocidade de recuperação de estruturas de metadados para o High-compression engine (X-Engine) durante reinicializações, reduzindo o tempo de reinicialização.

Correções de bugs

Descrição

  • Corrigimos um problema em que, ao usar o recurso de preservação de status de transação para o failover with hot replica, a perda ocasional de transações no columnstore index (IMCI) causava inconsistência de dados.

  • Corrigimos um problema em que uma exceção de memória durante uma operação assíncrona do instant column addition com um valor padrão de string longa fazia com que o valor padrão se tornasse inválido.

  • Corrigimos um problema em que o processo otimizado de amostragem de histograma bloqueava continuamente as operações DML.

  • Corrigimos um problema no IMCI em que uma condição de filtro era incorretamente empurrada (pushed down) para além de uma cláusula LIMIT, o que podia causar resultados incorretos.

  • Corrigimos um problema em que os resultados mais recentes não podiam ser lidos imediatamente após um full refresh of a materialized view quando o Query Cache estava habilitado.

  • Corrigimos um problema em que podia ocorrer um erro ao coletar estatísticas para o In-Memory Column Index (IMCI) com o aprimoramento de amostragem de colunas de baixa cardinalidade (imci_stats_scan_max_ndv) habilitado, o que impedia que as estatísticas fossem atualizadas corretamente.

  • Corrigimos uma falha causada pelo pushdown de uma expressão contendo Item_trigger_field para o lado interno de uma tabela derivada.

  • Corrigimos um possível erro de análise de instrução SQL ao usar dbms_outln.add_optimizer_outline_sharding em uma tabela fragmentada (sharded).

  • Corrigimos um erro que ocorria ao executar ALTER TABLE... ADD COLUMN... DEFAULT com o log binário habilitado.

  • Corrigimos um problema em que as estatísticas de cardinalidade vistas com a sintaxe SHOW INDEX para uma tabela particionada eram NULL.

  • Corrigimos um problema que podia causar a falha do Orca (compatible with the Redis protocol) ao limpar chaves expiradas com pcur, substituindo o método pcur por um método de armazenamento de chave.

  • Corrigimos um problema em que o Concurrency Control (CCL) não tinha efeito para a sintaxe DELETE xx FROM... (isso não afeta a sintaxe DELETE FROM...).

  • Corrigimos uma falha que podia ocorrer ocasionalmente com JSON_TABLE no caminho de execução de um trigger.

  • Corrigimos um problema em que um estouro de inteiro INT no sistema de arquivos NCI do In-Memory Column Index (IMCI) após um tempo de execução prolongado levava a um acesso à memória fora dos limites, fazendo com que a replicação de transações IMCI travasse.

8.0.1.1.53.1 (2026-07-02) & 8.0.1.1.53 (2026-01-24)

Novos recursos

Descrição

Otimizações de desempenho

Descrição

  • Otimizamos o mecanismo de gerenciamento de metadados para o high-compression engine (X-Engine). Ao liberar periodicamente o manifest log e versões antigas do manifest checkpoint, essa otimização evita o consumo extra de armazenamento causado pelo crescimento contínuo dos arquivos de metadados.

  • Otimizamos a eficiência de leitura e gravação de I/O de arquivos de índice de log binário. Essa otimização evita atrasos na confirmação de transações ou travamentos causados por contenção de I/O quando um cluster possui muitos arquivos de log binário.

  • Otimizamos o desempenho de consulta do IMCI para consultas que contêm uma lista IN de strings extra-longas.

  • Otimizamos a eficiência de execução de agrupamento e agregação (HashGroupby). Ao introduzir uma operação vetorizada para sondar a tabela hash, essa otimização melhora o desempenho do agrupamento e da agregação, reduzindo ligeiramente o consumo de memória durante a computação.

  • Otimizamos o processo de pesquisa de plano de consulta para acelerar a busca pela ordem de junção de múltiplas tabelas. Isso reduz o tempo geral de otimização para instruções SQL complexas.

  • Removemos o limite no número de tabelas particionadas.

Correções de bugs

Descrição

  • Corrigimos um problema no IMCI em que o operador HashJoin de alto desempenho podia causar a perda de linhas no conjunto de resultados ao processar um RIGHT JOIN e os dados eram despejados em disco (spilled to disk).

  • Corrigimos um problema em que o otimizador estimava imprecisamente o número de linhas para uma varredura de índice ordenada em determinados caminhos de consulta.

  • Corrigimos um problema em que as estatísticas podiam não ser coletadas conforme o esperado para colunas de string com conjuntos de caracteres amplos, como utf8, mesmo que fossem definidas com um comprimento curto.

  • Corrigimos um problema em que a replicação em um columnstore index read-only node ocasionalmente parava durante operações DDL frequentes, levando à latência de dados no nó.

  • Corrigimos um problema de acesso à memória fora dos limites que podia ocorrer com uma instrução LIMIT BY? contendo um placeholder ao usar o protocolo binário.

  • Corrigimos uma possível falha de cluster que ocorria ao acessar uma tabela particionada high-compression engine (X-Engine) com o cache de consulta habilitado.

  • Corrigimos um problema em que a PCU de um nó Serverless para o In-Memory Column Index (IMCI) podia aumentar e diminuir repetidamente quando o nó tinha especificações baixas e nenhuma carga.

  • Corrigimos um problema em que os nós somente leitura podiam pular alguns registros ao acessar Btrees após a habilitação do parâmetro de filtro de localização de limite do nó somente leitura.

2025

8.0.1.1.52 (2025-12-12)

Novos recursos

Descrição

  • Adicionado o recurso Search View and ETL Stored Procedure. Esse recurso sincroniza automaticamente os dados do PolarDB for MySQL para os nós de pesquisa, aprimorando as capacidades de sincronização de dados e análise agregada de grandes volumes de dados.

  • Introduzido o recurso Redo log compression para operações DDL. Esse recurso reduz significativamente a quantidade de logs Redo gerados durante a execução de DDL e melhora a eficiência das operações Redo.

  • Adicionado suporte para especificar o nó de execução para tarefas de atualização que realizam um full refresh of a materialized view.

  • Adicionado o recurso para que os nós de agregação em um Multi-master Cluster leiam logs Redo de forma assíncrona. Esse recurso melhora a taxa na qual os nós de agregação mesclam os logs Redo.

  • Adicionada uma métrica de monitoramento para o número de Orca (compatible with the Redis protocol) em pending tasks. Essa métrica exibe o número de tarefas na fila que aguardam execução, ajudando você a analisar e monitorar a latência das tarefas.

  • Adicionado suporte para padrões SQL específicos para IMCI. Agora, consultas complexas que contêm ROLLUP e possuem funções em suas colunas de projeção, incluindo subconsultas com funções de agregação, também podem ser delegadas ao IMCI para aceleração.

  • Adicionado suporte para índices de texto completo ao In-Memory Column Index (IMCI), o que melhora significativamente o desempenho de buscas aproximadas (fuzzy searches).

  • Adicionadas várias métricas principais de monitoramento para Orca (compatible with the Redis protocol), como conexões ativas, New Connections e uso de memória, para aprimorar a observabilidade do cluster.

  • Adicionado um interruptor dinâmico para controlar o recurso de ajuste de posição do cursor em nós somente leitura (RO).

Otimizações de desempenho

Descrição

  • Otimizada a política de execução de consultas para In-Memory Column Index (IMCI) e habilitada a execução adaptativa de agrupamento e agregação por padrão. Esse recurso seleciona automaticamente o algoritmo de agregação mais eficiente com base na distribuição dos dados e nas características da consulta, melhorando o desempenho de consultas analíticas que contêm a cláusula GROUP BY.

  • Melhorada a eficiência de execução do operador Hash Join no In-Memory Column Index (IMCI). Essa melhoria aprimora o desempenho de todas as consultas que utilizam Hash Join, com ganhos significativos para cenários de Semi Join.

  • Otimizado o desempenho de Binlog large transaction optimization em cenários de transações XA externas.

  • Otimizado o mecanismo de gerenciamento de metadados do X-Engine por meio da liberação periódica de manifest log e versões antigas de manifest checkpoint, evitando o uso adicional de armazenamento causado pelo crescimento contínuo dos arquivos de metadados.

  • Otimizada a sobrecarga de desempenho na alternância de arquivos de binary log. Isso evita o bloqueio de commits de transações em cenários onde muitos arquivos de binary log são retidos.

  • Otimizadas a estrutura interna de processamento de comandos e o caminho de bloqueio para Orca (compatible with the Redis protocol). Essa refatoração melhorou o desempenho geral de leitura e gravação em cerca de 10%.

Correções de bugs

Descrição

  • Corrigido um problema no Orca (compatible with the Redis protocol) em que gravar uma chave logo após excluí-la fazia com que as informações estatísticas de dbsize ficassem imprecisas.

  • Corrigido um problema em que o IMCI não suportava consultas contendo campos de variáveis do sistema.

  • Corrigida uma falha potencial na coleta de estatísticas em tabelas com operações frequentes de atualização e exclusão, além de melhorar a eficiência da amostragem de dados.

  • Corrigido um problema em que o comando Orca (compatible with the Redis protocol) do restore não conseguia preservar as informações de TTL ao restaurar um campo Hash expirado.

  • Corrigido um problema em que o recurso serverless para In-Memory Column Index (IMCI) podia causar um erro de falta de memória (OOM) em cenários de scale-up rápido seguido de scale-down rápido, pois a cota de cache não era revogada em tempo hábil.

  • Corrigido um problema em que reiniciar um nó IMCI para recuperação de índice de coluna podia resultar em uma inicialização lenta devido ao carregamento de um número excessivo de arquivos NCI irrelevantes.

  • Corrigido um problema em que um conjunto de resultados incorreto podia ser retornado quando a condição WHERE de uma consulta continha múltiplas IN-lists com ordenação ORDER BY.

  • Corrigido um problema em que um erro de RENAME TABLE podia ser reportado ao realizar operações DDL, como Duplicate entry, em uma tabela contendo uma view após um switchover de alta disponibilidade (HA).

  • Corrigido um problema em que a operação NCI IMCI para purge page interferia na eficiência da operação flush page em casos raros.

  • Corrigida uma anomalia de sincronização de dados no nó de agregação de um Multi-master Cluster após a ativação do recurso de leitura assíncrona. Isso era causado por um cálculo incorreto do offset de análise (parse offset).

  • Corrigido um problema em que o dimensionamento automático do recurso serverless para In-Memory Column Index (IMCI) era acionado continuamente devido a um status anormal do índice.

  • Corrigido um problema no Multi-master Cluster (Limitless) Edition em que um nó de leitura/gravação podia falhar ao atualizar uma view materializada agendada criada por outro nó de leitura/gravação.

  • Corrigido um problema de desempenho em que o uso de um único núcleo de CPU atingia o limite máximo devido ao tempo excessivo gasto pela função UNION quando uma consulta query_blocks continha muitos find_cloned_select_lex.

  • Corrigido um problema em que o otimizador de consultas falhava ao realizar a poda de partições (partition pruning) em uma tabela particionada interna ao processar uma consulta de nested join. Isso melhora o desempenho de consultas em tabelas particionadas em cenários relacionados.

  • Corrigido um problema em que In-Memory Column Index (IMCI) podia retornar resultados de multiplicação incorretos ao processar dados DECIMAL com mais de 16 dígitos após a vírgula decimal.

  • Corrigido um problema que impedia que uma consulta fosse delegada ao SELECT para execução quando a instrução IN-List continha tanto um DISTINCT quanto uma função de agregação com In-Memory Column Index (IMCI).

  • Corrigidos vários problemas que podiam desencadear uma falha no cluster quando o buffer pool size era muito menor que a memória necessária para tabelas materializadas.

  • Corrigido um problema na Edição Multi-master Cluster (Limitless) em que excluir um nó de leitura/gravação após uma alternância de endpoint podia causar a interrupção de tarefas em segundo plano.

  • Corrigido um problema potencial de travamento em um nó em standby durante a fase de recuperação em cenários de restauração point-in-time (PITR) e restauração de banco de dados/tabelas.

  • Corrigido um problema em que o recurso ETL do IMCI não suportava a função JSON_TABLE, e otimizada a mensagem de erro de falta de memória para consultas IMCI.

  • Corrigido um problema em que a memória liberada ainda estava sendo utilizada após uma falha na criação e rollback de um índice baseado em função.

  • Corrigido um problema em que um nó somente leitura retornava um erro innodb_blob_slave_read_consistent ao consultar o comprimento de um objeto JSON sob condições de limite específicas, após o parâmetro The JSON binary value contains invalid data ser ativado.

  • Corrigido um problema em que as estatísticas para colunas inteiras diferentes de BIGINT podiam ficar imprecisas, fazendo com que o otimizador de consultas falhasse ao gerar um plano de execução ideal.

  • Corrigido um problema em que consultas com Expressões de Tabela Comuns (CTEs) recursivas não podiam ser delegadas ao In-Memory Column Index (IMCI) para execução.

  • Corrigida uma falha rara que podia ocorrer ao executar consultas em versões mais antigas do cluster com o recurso de agregação adaptativa ativado.

  • Corrigido um problema em que conexões existentes de dump do Binlog podiam travar e afetar a limpeza do Binlog após um nó somente leitura ser alternado para um nó primário.

  • Corrigido um problema que impedia o acionamento do mecanismo de scale-out automático quando uma inserção NCI no In-Memory Column Index (IMCI) para lru cache falhava.

  • Corrigido um problema de inconsistência de dados que podia ocorrer em um nó somente leitura ao ler campos JSON grandes ou campos JSON frequentemente atualizados de forma parcial em cenários específicos.

  • Corrigido um problema no Elastic Parallel Query que podia causar a falha de um processo quando múltiplas subconsultas referenciavam o mesmo campo de uma consulta externa, mas utilizavam políticas de pushdown diferentes.

  • Corrigido um problema em que algumas consultas falhavam com um OOMError devido a um cálculo impreciso do uso de memória.

  • Corrigida uma exceção de processamento que podia ocorrer ao adicionar um índice columnstore a uma tabela que não possui chave primária, mas contém uma chave única.

  • Corrigido um problema de falta de memória (OOM) em nós de leitura/gravação causado pelo mecanismo de gravação em lote padrão ao realizar um DDL Online em uma tabela com índice columnstore.

8.0.1.1.51.2 (2025-11-05)

Otimizações de desempenho

Descrição

Otimizada a eficiência na alternância de arquivos de binary log em cenários onde muitos arquivos são retidos. Isso reduz o tempo de alternância e evita o bloqueio de commits de transações.

Correções de bugs

Descrição

  • Corrigido um problema que ocorria quando o recurso Thread Pool era desativado dinamicamente (definindo o parâmetro loose_thread_pool_enabled como OFF), o que podia fazer com que as conexões ficassem presas após a conclusão da execução de um DDL.

  • Corrigido um problema em que o columnstore index read-only node consumia memória excessiva após a execução de transações grandes.

8.0.1.1.51.1 (2025-10-16)

Novos recursos

Descrição

Adicionado um interruptor dinâmico para controlar o recurso de ajuste de posição do cursor em nós somente leitura (RO).

Correções de bugs

Descrição

  • Corrigido um problema em que as consultas retornavam inesperadamente para a execução em row store ao usar In-Memory Column Index (IMCI) com Hybrid Plan acceleration for wide table queries, pois uma otimização de consulta convertia a função AVG para SUM/COUNT.

  • Corrigido um problema de consumo excessivo de tempo ao criar uma tabela particionada no nó primário (RW) com o recurso Parallel Parse ativado.

8.0.1.1.51 (2025-09-29)

Novos recursos

Descrição

  • Adicionado suporte para views materializadas completas. Esse recurso fornece respostas de consulta mais rápidas para cenários de relatórios e análise em dados agregados estáticos ou quase estáticos sob grandes volumes de dados, pré-calculando e armazenando resultados de consultas complexas.

  • Adicionado suporte para o recurso Orca (compatible with the Redis protocol), compatível com Redis 7.0 e protocolos anteriores. O Orca é um service de banco de dados em memória integrado ao PolarDB que permite acessar o banco de dados usando o protocolo Redis. Esse recurso é adequado para cenários que exigem cache de chave-valor de alto desempenho para acelerar o acesso à aplicação. O banco de dados __orca_in_polardb_m_ criado por padrão para esse recurso não consome espaço de armazenamento quando não está em uso.

  • Adicionado suporte para autenticação Orca (compatible with the Redis protocol) para default com base na conta AUTH password. Quando a conta default é configurada, os clientes podem usar o comando padrão AUTH do Redis para verificação de identidade, o que aprimora a segurança de acesso ao service Orca.

  • Adicionado suporte no adaptive execution plan switching feature para cenários de Index Condition Pushdown (ICP).

  • Adicionado o parâmetro rds_max_tmp_disk_space para limitar o espaço total em disco que pode ser ocupado por tabelas temporárias criadas por todas as sessões em um único cluster.

  • Adicionado um recurso de recuperação rápida para o módulo de mapeamento linha-coluna do In-Memory Column Index (IMCI). Esse recurso reduz significativamente o tempo que um índice de coluna passa no LOADING_NCI state após a reinicialização de um nó column store, permitindo a restauração do índice de coluna em segundos.

Otimizações de desempenho

Descrição

  • Otimizada a estratégia de alocação de páginas BLOB. Quando as Informações de Dicionário Serializado (SDI) estão ativadas, a pré-alocação de páginas BLOB é desativada para evitar desperdício desnecessário de espaço de armazenamento causado por atualizações frequentes de SDI, o que melhora a eficiência de utilização do espaço.

  • Otimizado o mecanismo de carregamento de metadados para os nós IMCI. Isso resolveu o problema potencial de falta de memória (OOM) causado por uma lista de metadados excessivamente longa durante reinicializações de nós em cenários de dados massivos.

  • Padronizada a convenção de nomenclatura para arquivos locais relacionados ao columnstore index (IMCI) em todas as funções de nó, o que simplifica o gerenciamento de arquivos durante switchovers de alta disponibilidade (HA).

Correções de bugs

Descrição

  • Corrigido um erro que ocorria quando um nó somente leitura (RO) recém-criado executava uma instrução DDL após um switchover de alta disponibilidade. O erro era causado por uma falha ao modificar as Informações de Dicionário Serializado (SDI). Isso garante a estabilidade das operações DDL do cluster após um switchover de alta disponibilidade.

  • Corrigido um problema em que os nós primário e secundário de um Multi-master Cluster (Limitless) Edition podiam causar uma falha no cluster durante um switchover de alta disponibilidade (HA).

  • Corrigido um problema que podia causar acesso a ponteiro inválido (wild pointer) quando um índice é liberado durante a execução de IMCI em um INSTANT DDL.

  • Corrigida uma falha potencial durante um switchover de alta disponibilidade (HA) sob alta pressão de gravação após um scale-out sem inicialização.

  • Corrigida uma falha ocasional em tarefas de restauração point-in-time quando o recurso Parallel Parse está ativado.

  • Corrigido um problema em que adicionar um columnstore index (IMCI) a uma tabela que não possui chave primária, mas possui uma chave única, podia causar um erro.

  • Corrigido um problema em que um cluster Multi-master Cluster (Limitless) Edition podia falhar ao iniciar ou a persistência de dados podia falhar após um switchover de alta disponibilidade (HA).

  • Corrigido um problema no Multi-master Cluster (Limitless) Edition em que ocorriam lacunas no CREATE... IF NOT EXISTS após a execução de uma instrução gtid_executed em um nó de agregação.

  • Corrigido um problema no Multi-master Cluster (Limitless) Edition em que, após um nó somente leitura (RO) local ser alternado a quente para um nó de leitura/gravação (RW), a realização de operações DML em uma tabela com um In-Memory Column Index (IMCI) podia causar a falha do nó RW.

  • Corrigido um problema em que o módulo Delta do IMCI podia acessar um ponteiro nulo durante a serialização devido a uma lógica incompleta para identificar linhas com rollback, o que podia causar uma falha no cluster.

  • Corrigido um problema em que as informações de CREATE PARTITION TABLE eram perdidas durante uma operação data cleanup (TTL) porque as informações primárias do Dicionário de Dados (DD) não eram atualizadas.

  • Corrigido um problema em que uma consulta IMCI que contém tanto as funções de agregação DISTINCT quanto AVG podia retornar um resultado incorreto.

  • Corrigido um problema em que o desempenho de consulta do Multi-master Cluster (Limitless) Edition podia degradar sob carga pesada.

  • Corrigido um problema em que algumas consultas não podiam ser delegadas ao índice columnstore para execução quando o parâmetro imci_implicit_orderby_rollup estava ativado.

  • Corrigido um problema em que o IMCI read-only nodes podia apresentar atraso de replicação em cenários com operações DDL de alta frequência.

8.0.1.1.50.2 (2025-08-26)

Correções de bugs

Descrição

  • Corrigido um problema raro em que um processo de purga em segundo plano podia causar corrupção de índice secundário durante o rollback de uma transação.

  • Corrigido um problema em que um nó somente leitura podia falhar temporariamente ao consultar alguns registros durante um ajuste de estrutura de índice B-tree acionado por uma alta carga de gravação.

8.0.1.1.50.1 (2025-08-12)

Correções de bugs

Descrição

  • Corrigido um problema no recurso In-Memory Column Index (IMCI) em que um nó podia deltastore quando o swap executa uma tarefa pax, pois o comprimento de uma página uint32 sofria overflow de crash ou um ponteiro nulo era encontrado.

  • Corrigido um problema em que operações de arquivo follower de uma gravação e múltiplas leituras para IMCI eram inesperadamente proibidas devido a uma ordem de inicialização inadequada de variáveis globais.

8.0.1.1.50 (2025-07-17)

Novos recursos

Descrição

  • Estendida a funcionalidade das window functions para suportar a cláusula FRAME. Isso permite definir o intervalo de cálculo com mais precisão nos modos ROWS e RANGE, o que aprimora a flexibilidade de consultas analíticas complexas.

  • Adicionada uma nova métrica estatística In-Memory Column Index (IMCI) no nível de consulta para Pruner. Você pode consultar a view INFORMATION_SCHEMA.IMCI_SQL_PROFILING para entender a eficiência de poda de blocos de dados do operador TableScan durante a execução, permitindo analisar e otimizar o desempenho da consulta com mais precisão.

  • Agora você pode usar o DDL Online para modificar os valores da coluna de incremento automático do high-compression engine (X-Engine). Essa atualização permite realizar a modificação sem bloquear operações DML, garantindo a continuidade dos negócios.

  • A capacidade de pushdown de consultas para In-Memory Column Index (IMCI) foi aprimorada. Agora suporta consultas SQL complexas que contêm ROLLUP e subconsultas com funções de agregação nas colunas de projeção. Isso permite que mais tipos de consultas analíticas e de relatórios se beneficiem das melhorias de desempenho do IMCI.

  • O IMCI agora suporta a expressão JSON_ARRAYAGG. Essa função agrega múltiplas linhas dos resultados da consulta em um único array JSON, aprimorando as capacidades de processamento de dados JSON.

Otimizações de desempenho

Descrição

  • O mecanismo de agendamento do pool de threads elástico em segundo plano para IMCI foi otimizado, reduzindo significativamente o uso de CPU ao recuperar o status das tarefas, diminuindo assim a sobrecarga do sistema e liberando mais recursos de computação para os services principais.

  • Melhorada a eficiência do Page Apply durante a replicação física. Ao evitar atrasos na replicação física causados pela leitura de dados frios pelos nós secundários, isso reduz a possibilidade de jitter ocasional e aprimora a estabilidade da sincronização de dados.

  • Otimizada a lógica offline para nós column store. Ao tornar a limpeza de arquivos lixo assíncrona e otimizar o controle de fluxo, o processo de offline do nó se torna mais suave, reduzindo o impacto nos services em execução.

  • A mesclagem de window functions que possuem a mesma definição PARTITION BY melhora a eficiência de execução do In-Memory Column Index (IMCI) ao processar consultas analíticas complexas.

  • Aprimorado o desempenho do operador In-Memory Column Index (IMCI) no HashJoin. A otimização do processo de criação e da implementação específica de sua tabela Hash interna acelera o processamento de consultas de junção (join).

  • O In-Memory Column Index (IMCI), o Hybrid Plan agora suporta a execução de consultas em tabelas sem uma chave primária explicitamente definida. Isso expande a aplicabilidade do armazenamento híbrido linha-coluna, permitindo que você aproveite suas vantagens de desempenho mesmo que o esquema da tabela não contenha uma chave primária.

  • Adicionado o parâmetro adaptive_digest_length_multiplier. Esse parâmetro pode ser usado para ajustar o tamanho de memória pré-alocado para o digest SQL, definindo um coeficiente de comprimento de texto SQL adequado para otimizar a eficiência do uso de memória.

  • Reduzida a granularidade de bloqueio no recurso de retenção de snapshot dos nós de índice columnstore somente leitura. Isso evita efetivamente travamentos ocasionais nas informações de monitoramento causados por longas esperas de bloqueio e melhora a observabilidade do sistema.

Correções de bugs

Descrição

  • Corrigido um problema em que algumas consultas qualificadas não eram despachadas corretamente para o imci_implicit_orderby_rollup para execução quando o parâmetro IMCI estava ativado, garantindo a estabilidade do recurso de aceleração de consultas.

  • Corrigido um problema em que o cache RENAME na view In-Memory Column Index (IMCI) para o INFORMATION_SCHEMA não era atualizado em tempo hábil após a realização de uma operação table_name em uma tabela particionada, garantindo a consistência dos metadados.

  • Corrigido um problema em que tarefas de atualização baseadas em informações de índice columnstore de versões antigas podiam desencadear uma falha de asserção após um commit de INSTANT DDL. Isso melhora a estabilidade do recurso INSTANT DDL.

  • Corrigido um problema em que tipos de string podiam usar incorretamente as informações de collation do PREPARE EXECUTE ao usar o modo character_set_client. Isso garante a correção do manuseio do conjunto de caracteres.

  • Corrigido um problema no Sharding Outline em que um defeito na lógica de cálculo de token impedia o suporte correto para aliases de tabela e cláusulas ORDER BY/LIMIT BY.

  • Corrigido um problema em que algumas instruções no modo PREPARE STATEMENT não podiam ser roteadas corretamente para IMCI para execução, garantindo que instruções preparadas também possam se beneficiar da aceleração de desempenho.

  • Corrigido um problema em que o módulo In-Memory Column Index (IMCI)Delta acessava um ponteiro nulo e causava uma falha no cluster porque o módulo falhava ao verificar linhas com rollback ao serializar dados.

  • Corrigido um problema em que um In-Memory Column Index (IMCI) em um Hybrid Plan para Index Join ocasionalmente causava um erro Assertion failed: false ao consultar tabelas particionadas.

  • Corrigido um problema em que um erro invalid json podia ser retornado em alguns cenários ao ler dados JSON em um nó somente leitura (RO). Isso garante a consistência do formato de dados entre nós de leitura/gravação e somente leitura.

  • Corrigido um problema em que json_valid e o row store podiam retornar resultados de consulta inconsistentes quando o primeiro parâmetro da função varchar é do tipo IMCI.

  • Corrigido um problema em que atualizar um valor REDUNDANT para uma string vazia podia causar uma falha no cluster em uma tabela que usa o formato de linha second-level DDL e contém NULL.

  • Corrigido um problema que causava cronometragem imprecisa ocasional ao usar o recurso Analyze In-Memory Column Index query performance (imci_analyze_query) para analisar consultas In-Memory Column Index (IMCI), melhorando a confiabilidade da ferramenta de análise de desempenho.

  • Corrigido um problema em que, após usar o recurso Database and Table Restoration para restaurar uma tabela particionada que contém Second-level DDL e possui 10 ou mais partições, um erro podia ocorrer ao acessar a tabela.

  • Corrigido um problema em que a distribuição adaptativa roteava incorretamente consultas com funções definidas pelo usuário não suportadas para IMCI, causando erros de execução.

  • Corrigido um problema em que IMCI podia retornar um erro de falta de memória (OOM) ao processar operações GROUP BY em strings de comprimento variável com volumes de dados extremamente grandes.

  • Corrigida uma falha potencial no cluster durante a execução de um Batched Nested Loop (CTE) quando um SEMI JOIN DuplicateWeedout era executado junto com BNL.

  • Corrigido um vazamento de memória no pool de threads interno do In-Memory Column Index (IMCI) durante o scale-in elástico, o que evita vazamentos de memória quando as PCUs de um cluster Serverless são ajustadas.

  • Corrigido um problema de deadlock causado pela adição de bloqueios de transação de índice de chave única (UK) desnecessários. Isso melhora a estabilidade do sistema em cenários de alta concorrência.

  • Corrigido um problema em que a execução concorrente de IMCI enquanto um LOADING_NCI estava executando DROP INDEX podia fazer com que a tarefa de carregamento travasse.

  • Corrigido um problema em que as consultas ocasionalmente falhavam ao usar o global consistency (high-performance mode) quando o Hybrid Plan estava ativado, garantindo que o plano de consulta correto seja selecionado no modo de alto desempenho.

8.0.1.1.49.2 (2025-06-11)

Correções de bugs

Descrição

  • Corrigido um problema em que as operações de restauração point-in-time podiam não ser idempotentes no modo de análise paralela.

  • Corrigido um problema em que o In-Memory Column Index (IMCI) podia causar imprecisões de dados durante operações de DDL Online nas versões 8.0.1 e posteriores.

  • Corrigido um problema em que o Index Join do Hybrid Plan do IMCI podia causar uma falha ao executar um padrão Post Filter com um Anti Semi Join.

  • Corrigido um problema em que o recurso Window Function podia causar um conjunto de resultados anormal quando os dados da tabela temporária interna eram gravados em disco.

  • Corrigido um problema em que uma falha podia ocorrer durante o Data Cleanup (TTL) se um deadlock causasse o rollback de uma transação.

  • Corrigido um problema em que a thread Data Cleanup (TTL) podia causar uma falha se não conseguisse liberar um objeto de transação (trx) durante o desligamento.

  • Corrigido um problema de falta de memória (OOM) que podia ser acionado quando um In-Memory Column Index (IMCI) realiza uma compactação de ordenação (sort compaction).

8.0.1.1.49.1 (2025-05-21)

Correções de bugs

Descrição

Corrigido um vazamento de memória no pool de threads interno do In-Memory Column Index (IMCI) durante o processo de scale-in elástico. Essa correção evita efetivamente vazamentos de memória em clusters serverless quando as PCUs (PolarDB Capacity Units) são ajustadas dinamicamente.

8.0.1.1.49 (2025-04-25)

Novos recursos

Descrição

  • O The TTL feature agora suporta a definição de um tempo de expiração. Os dados expiram automaticamente após o tempo especificado.

  • Adicionado o recurso EXPLAIN DDL, que permite consultar as características de execução de instruções DDL específicas.

  • O recurso Serverless agora inclui uma funcionalidade para recuperar memória não utilizada do parse buf (bloco de memória para análise de logs), o que reduz o uso de memória.

  • Adicionado suporte para I/O assíncrono de redo log e I/O de partição de redo log (Partition IO) no Multi-master Cluster (Limitless) Edition.

  • Adicionada uma configuração para controlar o limiar de custo para o adaptive execution de distribuição automática de requisições entre nós de row e column store.

  • O In-Memory Column Index (IMCI), o Index Join do Hybrid Plan agora suporta os modos Semi Join e Anti Semi Join.

Otimizações de desempenho

Descrição

  • Melhorado o desempenho de consultas IMCI que utilizam listas IN.

  • Otimizado o mecanismo de implementação do Hash Groupby no IMCI para selecionar automaticamente políticas e algoritmos de particionamento com base nas características de distribuição dos dados, melhorando o desempenho das consultas.

  • Otimizada a lógica do otimizador de consultas para lidar com subconsultas, melhorando significativamente o desempenho do IMCI para subconsultas IN e EXISTS complexas.

  • Otimizado um problema em que o desempenho do banco de dados degradava ao usar o parâmetro max_execution_time sob alta concorrência.

Correções de bugs

Descrição

  • Corrigido um problema em que blocos de memória ocasionalmente se acumulavam no ImciFollower em uma arquitetura compartilhada multi-nó do In-Memory Column Index (IMCI).

  • Corrigido um problema em que o WITH ROLLUP podia não gerar valores NULL corretamente quando a coluna na cláusula GROUP BY continha uma expressão.

  • Corrigido um problema raro em que um nó column store acessava dados em cache de antes de uma operação DDL.

  • Corrigido um problema de compatibilidade com the Fast import feature quando usado com partitioned tables e Instant Columns.

  • Corrigido um problema em que IMCI não conseguia usar o parâmetro imci_implicit_orderby_rollup para controlar a ordenação dos resultados da consulta ao processar consultas com ROLLUP.

  • Corrigido um problema em que acessar um índice espacial em um nó somente leitura podia recuperar dados duplicados.

  • Corrigido um problema de scale-in para In-Memory Column Index (IMCI) em clusters Serverless com grandes especificações de nó primário.

  • Corrigido um problema em que In-Memory Column Index (IMCI) não suportava a cláusula LIMIT 1 em subconsultas SQL.

  • Corrigido um problema em que a materialização mista Mixoutput do In-Memory Column Index (IMCI) não realizava a conversão de fuso horário ao ler dados de timestamp.

  • Corrigido um problema raro de leitura/gravação fora dos limites no ROW LOG ao realizar DDL ONLINE em uma tabela com uma lista virtual.

  • Corrigido um erro potencial nos resultados de consultas paralelas quando uma subconsulta continha a palavra-chave Having.

  • Corrigido um problema em que o recurso Redo Cache podia ler dados sujos (dirty data) ao ler logs Redo de borda. Esse problema fazia com que a verificação de validade do log Redo falhasse, levando a uma falha no cluster.

  • Corrigida uma falha potencial no cluster sob alta concorrência quando os recursos de consulta paralela (PQ) e performance_schema eram utilizados.

  • Corrigida uma falha potencial em um nó secundário de um Multi-master Cluster ao alternar o banco de dados ou o endpoint do objeto antes do nó.

  • Corrigido um problema potencial de corrupção de índice em um índice secundário criado em uma Coluna Virtual.

  • Corrigido um problema de compatibilidade entre o recurso database and table recovery e o recurso de extensão de nome de parâmetro de espaço de arquivo.

  • Corrigida uma falha de inicialização de um novo nó de leitura/gravação em um Multi-master Cluster quando um nó global somente leitura estava presente.

  • Corrigido um problema em que uma operação IMPORT TABLESPACE não podia ser realizada devido a uma falha inesperada durante uma gravação BLOB otimizada.

  • Corrigido um problema em que o fluxo de jobs do database and table recovery podia ser interrompido se um nome de parâmetro de extensão contivesse um espaço.

  • Corrigida uma interrupção potencial de tarefa quando a tabela de origem para restauração de banco de dados e tabelas possuía um índice columnstore.

  • Corrigido um erro em que um nó somente leitura reportava que um arquivo não existia ao executar Show Binlog Events.

  • Corrigido um problema raro em que uma instrução não conseguia encerrar normalmente ao encerrar (kill) a conexão correspondente para um DDL em um cluster de DDL não bloqueante.

  • Corrigido um problema de compatibilidade para In-Memory Column Index (IMCI) que ocorria ao executar consultas SELECT DISTINCT em cenários non-full-groupby.

  • Corrigida uma série de problemas com a elasticidade de memória do In-Memory Column Index (IMCI) para melhorar a eficiência de utilização de memória e a estabilidade do cluster.

  • Corrigida uma falha potencial no cluster quando uma tabela materializada com ordenação era mesclada em uma consulta externa em um cenário de consulta paralela.

  • Corrigido um problema que fazia com que os nós somente leitura (RO) em um cluster Serverless sofressem scale-in para 0,25 PCU durante a sincronização de especificações com os nós de leitura/gravação (RW).

  • Corrigida uma falha no cluster ao criar uma tabela temporária com uma instrução CREATE TABLE AS SELECT.

8.0.1.1.48.1 (2025-03-20)

Correções de bugs

Descrição

Corrigido um problema em que as requisições de leitura em um nó somente leitura (RO) ficavam lentas em cenários com baixa carga de Redo quando o recurso de mecanismo multi-versão estava ativado.

8.0.1.1.48 (2025-02-21)

Novos recursos

Descrição

  • A instrução Delete agora suporta Index Hints, permitindo o uso de índices específicos por meio das sintaxes USE INDEX, FORCE INDEX ou IGNORE INDEX.

  • Adicionado suporte para o envio de logs RedoLog para nós column store pela rede, reduzindo o consumo de IOPS dos nós column store.

  • Adicionadas as funções de criptografia SM4_encrypt()/SM4_decrypt() para implementar criptografia de acesso no nível de campo com o algoritmo SM4.

  • Adicionado um recurso para analisar o Redo em paralelo para replicação física, melhorando o desempenho da replicação física.

  • O resultado do Explain agora exibe o ID do Outline chamado. Múltiplos IDs de Outline chamados pela mesma instrução são separados por vírgulas.

  • O X-Engine adiciona suporte para o recurso de tabela larga (large wide table), suportando no máximo 10.000 colunas por tabela.

  • Adicionado o recurso Resource Management User Guide, que implementa o isolamento de recursos de CPU nos níveis User e Database.

  • O Multi-master Cluster (Limitless) Edition agora suporta o recurso de nó somente leitura local, que fornece distribuição de carga de trabalho de leitura e switchover de alta disponibilidade.

Otimizações de desempenho

Descrição

  • Otimizado o bloqueio de mutex global para SHOW VARIABLES, melhorando o desempenho sob alta concorrência.

  • Otimizado o High-compression Engine (X-Engine) ativando automaticamente o recurso de pre-commit em cenários de DDL.

Correções de bugs

Descrição

  • Corrigido um problema que impedia os nós somente leitura (RO) em um cluster Serverless de fazer scale-down para o limite inferior de 0,25 PCU durante a sincronização de especificações com os nós de leitura/gravação (RW).

  • Corrigido um problema em que desligar o Hybrid Plan em tempo de execução no In-Memory Column Index (IMCI) podia causar uma falha.

  • Corrigido um problema raro de redundância de dados de índice columnstore que podia ocorrer se um cluster reiniciasse durante uma transação grande em um nó column store e uma recuperação de falha fosse realizada.

  • Corrigida uma exceção potencial que podia ser acionada quando todos os dados em um bloco de dados armazenado eram idênticos.

  • Habilitada a permissão binlog_rows_query_log_events no nível de Sessão para suportar backup e rollback de SQL usando o DMS.

  • Corrigido um problema em que o processo de DDL Online para índices columnstore em um cenário de Multi-master Cluster não se adaptava à lógica de Logical Log Sequence Number (LLSN), resultando em perda de replay de logs Redo do columnstore.

  • Corrigido um problema em que tablespaces antigos vazavam durante a recuperação após uma alteração de DDL no X-Engine.

  • Corrigido um erro de seleção de índice no IMCI para cenários de filtragem de intervalo constante (const between field1 and field2).

  • Corrigida uma falha no IMCI que ocorria durante uma consulta em um partitioned table quando uma instrução Explain for Connection para a consulta era executada em outra sessão.

  • Removida uma restrição desnecessária na seleção de algoritmos. Agora, algumas subconsultas correlacionadas podem escolher o algoritmo eficiente HASH JOIN para a execução da consulta.

  • Corrigido um problema em que os resultados de consulta do IMCI I_S (views relacionadas ao IMCI no banco de dados Information_Schema) com um filtro name estavam incompletos devido ao uso de uma função de comparação de strings que não diferencia maiúsculas de minúsculas.

  • Corrigido um problema em que um bloqueio MDL não podia ser obtido durante a fase DDL SCAN, exibindo apenas uma mensagem de erro sem conseguir recuperar os dados do índice columnstore.

  • Corrigido um problema em que a variável gtid_purged em um nó somente leitura não era sincronizada com o nó primário.

  • Corrigido um problema em que excluir um banco de dados em um Multi-master Cluster podia causar o travamento de todo o cluster.

  • Corrigido um problema em que as variáveis para global consistency (high-performance mode) foram alteradas para o nível de Conexão, adicionando suporte para ativar ou desativar o recurso por meio de um endpoint de proxy.

  • Corrigido um problema em que executar os comandos de tabela TRUNCATE e RENAME em um Multi-master Cluster podia causar o travamento de todo o cluster.

  • Corrigido um problema em que o mecanismo XEngine limpava inesperadamente os metadados de blocos de dados quando um nó somente leitura era reiniciado.

  • Corrigida uma anomalia potencial no sistema de bloqueio MDL quando o número de conexões excede 65536.

  • Corrigida uma situação em que um Multi-master Cluster podia fazer com que um nó de leitura/gravação ficasse indisponível quando o número de tabelas no banco de dados era grande.

  • Corrigido um problema em que definir uma variável do tipo flagset, como (optimizer_switch), não reporta mais um erro se houver itens duplicados.

  • Corrigido um problema em que versões anteriores da comunidade falhavam em otimizar corretamente a ordem de junção (join order) em instruções de atualização de múltiplas tabelas.

  • Corrigido um problema no IMCI em que o estado era definido incorretamente quando múltiplos filtros de tempo de execução eram delegados à mesma tabela.

  • Corrigida uma falha potencial ao processar a saída de string vazia do GROUP_CONCAT com a expressão SUBSTRING_INDEX, e o comprimento do separador é maior que 1.

8.0.1.1.47.1 (2025-01-07)

Correções de bugs

Descrição

Corrigido um problema em que a leitura de objetos grandes JSON ou GIS usando o In-Memory Column Index (IMCI) podia falhar ocasionalmente.

2024

8.0.1.1.47 (2024-12-19)

Novos recursos

Descrição

  • Adiciona suporte a cenários de table sharding no Outline. Um único Outline pode corresponder a todas as instruções com o mesmo modelo, aplicável a diferentes tabelas com shard.

  • Adiciona a capacidade de ajustar dinamicamente o resultado da seleção de Order Index com base nas condições reais durante a execução.

  • Adiciona um recurso para analisar o Redo em paralelo para replicação física, melhorando o desempenho da replicação física.

  • Adiciona a variável ignore_use_force_index. Quando ativada, ignora todo use ou force index em instruções e Outlines (mas não afeta Index() em Hints).

  • Adiciona as funções de conversão de strings convert_sys_to_filename() e convert_filename_to_sys() para conversão entre a codificação system_charset_info e a codificação my_charset_filename.

  • Adiciona suporte para setting transparent data encryption (TDE) para dados frios no OSS.

  • Adiciona suporte para buffer MTT assimétrico para instâncias RW e RO, permitindo ativar o MTT optimization para ambas de forma coordenada.

  • A tabela i_s.imci_index_stats do IMCI adiciona um campo PRUNED_PERCENT, que indica a taxa de Data Skipping para cada índice columnstore.

  • Adiciona um recurso ao resultado do SHOW ProcessList para exibir se uma sessão está aguardando o agendamento do thread pool.

  • Suporta a reconstrução direta de um índice columnstore modificando o pack_shift no COMMENT sem exclusão prévia.

Otimizações de desempenho

Descrição

  • Otimiza o processo de scale-in dinâmico do Buffer Pool para reduzir conflitos de bloqueio.

  • Otimiza o SQL Trace para registrar corretamente o SQL e os planos de execução quando Call procedure é utilizado.

  • Otimiza a sobrecarga de memória de tabelas largas do columnstore.

  • Otimiza a velocidade de inicialização de nós columnstore somente leitura, suportando a inicialização independente do mecanismo columnstore a partir do offset do snapshot do columnstore.

  • Otimiza o código de inicialização e destruição de threads para pré-leitura lógica, simplificando a lógica de verificação de memória.

  • Otimiza o longo tempo de inicialização do column store nodes em cenários com tabelas massivas.

  • Otimiza o desempenho e o uso de memória de grandes transações no IMCI.

  • Otimiza o desempenho da materialização de expressões HASH KEY no IMCI.

  • O fluxo de Serverless para nós column store é otimizado para que novos nós column store sejam adicionados ao nó Proxy para lidar com o tráfego do service somente após seus índices estarem prontos.

  • Otimiza o mecanismo de amostragem de estatísticas do IMCI, aumentando a frequência de amostragem e a proporção de dados amostrados.

    Otimiza a lógica de amostragem para colunas de baixa cardinalidade para evitar situações em que estatísticas imprecisas levem a consultas não totalmente otimizadas.

  • Otimiza o módulo de bloqueio de desempenho assíncrono do Simulated-AIO.

Correções de bugs

Descrição

  • Corrige um problema em que o DDL podia reportar um erro ou não ter efeito em uma tabela com uma view após um HA (node switchover).

  • Corrige um problema em que um nó RO podia falhar continuamente ao fornecer service após se reconectar ao nó RW.

  • Corrige uma falha de processo causada pela instrução CAST(REGEXP_SUBSTR(...)) AS DECIMAL.

  • Corrige um problema em que o REGEXP_SUBSTR podia retornar um sinalizador NULL incorreto.

  • Corrige um problema em que a instrução de criação de tabela para a tabela de sistema dlm_policies era registrada no BINLOG, causando falha na sincronização downstream.

  • Corrige um problema em que índices únicos não eram totalmente utilizados para aceleração em algumas consultas.

  • Corrige um problema de metadados residuais ao excluir vários índices full-text (FTS) simultaneamente usando a instrução ALTER TABLE DROP.

  • Corrige um problema de reconstrução desnecessária de índice ao estender o comprimento de uma coluna VARCHAR com um valor DEFAULT especificado.

  • Corrige problemas para o Serverless do IMCI, incluindo problemas de compatibilidade com a elasticidade de memória interna e anormalidades de dimensionamento.

  • Corrige um problema em que pesquisas de índice full-text em nós somente leitura ficavam travadas após uma operação DDL.

  • Corrige um problema no Adaptive Execution em que tipos específicos de consultas não podiam ser roteados corretamente.

  • Corrige um problema em que a reconstrução online de um In-Memory Column Index (IMCI) não era suportada, o que causava problemas de disponibilidade.

  • Corrige um problema em que um cluster multi-write travava ao add columnstore indexes in batches devido ao tratamento inadequado do bloqueio global DDL.

  • Corrige uma falha de consulta em cenários JSON_TABLE com campos NULL.

  • Corrige um conflito entre o Multi-master Buffer Pool Resize e o acesso de transações a blocos, e otimiza o desempenho do registro ou cancelamento de registro RDMA do Multi-master Buffer Pool.

  • Corrige um problema em que o Digest CCL não suportava o protocolo PS (Prepared Statements).

  • Corrige uma possível falha em nós RO durante a fase de HA (node switchover) após a ativação do recurso RO No Sync.

  • Corrige um problema em que rollbacks de transação exigiam um bloqueio pessimista para excluir um índice ao usar um Spatial Index, levando a um loop infinito e retenção prolongada do bloqueio.

  • Corrige uma rara interrupção de tarefa que podia ocorrer durante uma atualização de uma versão histórica para 8.0.1.1.45.1.

  • Corrige um problema raro em que um erro de consulta era reportado devido ao acesso a dados inválidos ao acessar tipos de dados de string durante a execução do columnstore.

  • Corrige um problema em que o IMCI voltava para o row store ao processar uma expressão contendo múltiplas subconsultas com SUM.

  • Corrige um problema de espera circular que ocorria durante a reconstrução assíncrona de índice de coluna em cenários single-write, multiple-read do IMCI quando o recurso Use Hybrid Plan to accelerate wide table queries estava ativado.

  • Corrige um problema em que a modificação do parâmetro innodb_bulk_load_page_grained_redo_enable dentro de uma determinada janela de tempo durante a execução paralela de DDL causava gravações incorretas de Redo para algumas páginas.

  • Corrige um possível deadlock no BLINK para cenários de exclusão de dados em lote em tabelas com campos LOB.

  • Corrige um problema em que operações INSTANT DDL de alta frequência simultâneas e tarefas de Compaction em segundo plano causavam a falha do processo migrate.

  • Corrige um problema em que o GROUP BY podia fazer com que uma tabela temporária reportasse um erro table is full.

  • Corrige um problema em que um index join no IMCI podia levar a resultados instáveis ao usar uma constante como condição de join.

8.0.1.1.46.2 (2024-11-19)

Correções de bugs

Descrição

  • Corrige um problema em que o valor Autoinc da tabela sofria rollback após um nó RO ser alternado para um nó RW e uma instrução INSERT... ON DUPLICATE KEY UPDATE ser executada.

  • Corrige problemas de compatibilidade com a elasticidade de memória interna e exceções de dimensionamento no Serverless do IMCI.

  • Corrige um bug que causava uma falha quando o número de tabelas em uma transformação de consulta excedia 61. Nesses cenários, a reescrita de consulta não é realizada.

8.0.1.1.46.1 (2024-11-06)

Correções de bugs

Descrição

  • Corrige um problema em que pesquisas de índice full-text em nós somente leitura ficavam travadas após um DDL.

  • Corrige uma incompatibilidade entre o recurso backward index scan e otimizações como ICP. Um novo polar_optimizer_switch é adicionado para controle.

8.0.1.1.46 (2024-10-28)

Novos recursos

Descrição

Adiciona a variável ignore_use_force_index. Quando ativada, ignora todo use/force index em instruções e Outlines (mas não afeta index() em hints).

Otimizações de desempenho

Descrição

  • No IMCI, a tabela INFORMATION_SCHEMA.IMCI_INDEX_STATS agora inclui um campo PRUNED_PERCENT que indica a taxa de data skipping para cada índice de coluna.

  • Otimiza o SQL trace para que, quando o tipo for definido como SLOW LOG, o SQL trace também se aplique a instruções especificadas por DEMAND.

  • Otimiza RW e RO para suportar buffers MTT assimétricos. Suporta a ativação vinculada do MTT entre RO e RW.

  • Otimiza o processo Serverless para nós column store.

    Permite que novos nós column store atendam ao tráfego somente após seus índices estarem prontos, reduzindo consultas lentas causadas pelo roteamento de instruções SQL para os novos nós e execução com planos row store durante esse período.

  • Reduz a sobrecarga de desempenho ao salvar informações de partição para IMCI durante a execução de SQL para melhorar o desempenho de consulta de partitioned tables.

Correções de bugs

Descrição

  • Corrige uma falha de cluster durante a inicialização do Undo quando o Force recovery está ativado.

  • Corrige um problema em que a reconstrução assíncrona de índices de coluna levava a um deadlock em cenários one-write, multiple-read do IMCI quando o Hybrid Plan estava ativado.

  • Corrige um erro ao reimportar os mesmos dados para uma tabela particionada com o atributo UNIQUE CHECK IGNORE usando LOAD DATA com REPLACE.

  • Corrige um problema em que dados sujos podiam ser introduzidos em recent_written quando o valor de cálculo CRC dos dados recebidos era exatamente 0 em uma implantação de três zonas.

  • Corrige um problema em que nós RO podiam ficar travados durante a fase de HA (node switchover), evitando tempos de HA de usuário excessivamente longos.

  • Corrige a corrupção de B-tree causada pela adição de uma coluna auto-increment e criação de um índice de chave primária decrescente nessa coluna.

  • Corrige um problema em que o IMCI voltava para o row store ao processar uma expressão contendo múltiplas subconsultas com SUM.

  • Corrige um problema raro de resíduo de memória quando um erro é encontrado durante a reconstrução paralela de chave primária.

  • Corrige uma possível falha ao processar campos LOB em uma consulta GROUP BY usando o mecanismo Temptable.

  • Corrige um possível erro em resultados de consulta paralela quando a condição do predicado continha uma subconsulta.

  • Corrige uma possível falha de consulta em cenários JSON_TABLE com campos NULL.

  • Corrige uma anomalia de codificação NCI durante operações DDL do tipo EQUAL_PACK_LENGTH ao modificar um campo PRIMARY KEY.

  • Corrige um problema em que um conflito entre o advanced transaction splitting do Proxy e o Fast Query Cache afetava o conjunto de resultados.

  • Corrige um problema em que os resultados podiam estar incorretos ao usar uma expressão JSON_ARRAY em uma subconsulta com o IMCI ativado.

  • Corrige um problema que causava a interrupção do new flow para recuperação de banco de dados e tabela quando a mesma tabela era recuperada várias vezes.

  • Corrige um problema de vazamento de memória que ocorria durante a ativação dinâmica do recurso RDMA log transfer.

  • Corrige um problema em que o In-Memory Column Index (IMCI) não suportava reconstrução online, o que causava a indisponibilidade do IMCI.

  • Corrige um problema em que o DDL assíncrono não podia ser usado ao adicionar um In-Memory Column Index (IMCI) modificando o COMMENT de uma tabela que possui um índice full-text.

  • Corrige um problema em que transações podiam não ser killed em cenários de multi-concorrência.

8.0.1.1.45.2 (2024-09-13)

Correções de bugs

Descrição

  • Corrige uma rara interrupção de tarefa que podia ocorrer durante uma atualização de uma versão histórica para 8.0.1.1.45.1.

  • Corrige um problema raro em que um erro de consulta era reportado devido ao acesso a dados inválidos ao acessar dados do tipo string durante a execução de consulta do columnstore.

8.0.1.1.45.1 (2024-09-09)

Otimizações de desempenho

Descrição

Otimiza a sobrecarga de memória de tabelas largas do columnstore do IMCI.

8.0.1.1.45 (2024-09-03)

Novos recursos

Descrição

  • Adiciona uma exibição para mostrar se uma sessão está aguardando o agendamento do thread pool.

  • Adiciona uma estratégia de reordenação de join baseada em algoritmo guloso no IMCI.

  • Adiciona stored procedures e comandos SQL estendidos para adicionar columnstore indexes a um banco de dados inteiro em lotes.

  • Adiciona suporte para o PolarDB a partir de conjuntos de backup do major engine version upgrades 5.7 para melhorar a eficiência da migração com um clique.

  • O Hybrid Plan para columnstore index agora suporta tabelas particionadas, colunas virtuais e colunas dos tipos ENUM, SET e GIS.

Otimizações de desempenho

Descrição

  • Otimiza o recurso para permitir o ajuste dinâmico de PolarDB IO Threads sem reinicialização.

  • Otimiza a elasticidade automática do replay single-machine do IMCI, reduzindo a latência de replay e problemas de out-of-memory (OOM) causados por alta pressão de replay.

  • Otimiza o desempenho de leitura de campos do tipo Date no IMCI.

  • Otimiza o mecanismo de amostragem de estatísticas do IMCI, aumentando a frequência de amostragem e a proporção de dados amostrados.

    Otimiza a lógica de amostragem para colunas de baixa cardinalidade para evitar situações em que estatísticas imprecisas levem a consultas não totalmente otimizadas.

Correções de bugs

Descrição

  • Corrige um problema de falha de nó com índices full-text do InnoDB em um Multi-master Cluster.

  • Corrige um desvio significativo na estimativa de seletividade pelo otimizador quando uma condição JOIN no IMCI inclui uma conversão de tipo.

    Corrige um problema em que o Hybrid Plan não podia ser selecionado corretamente no IMCI devido a uma superestimativa da cardinalidade de saída de um JOIN.

  • Corrige um problema em que o JSON_LENGTH retornava resultados incorretos quando um caractere curinga estava presente.

  • Corrige um problema em que a modificação do parâmetro innodb_bulk_load_page_grained_redo_enable dentro de uma determinada janela de tempo durante a execução paralela de DDL causava gravações incorretas de Redo para algumas páginas.

  • Corrige um problema em que o valor Autoinc de uma tabela particionada sofria rollback após um nó somente leitura ser alternado para um nó de leitura/gravação.

  • Corrige um problema em que a remoção de um nó RO podia bloquear conexões de monitoramento por um período quando o innodb_polar_log_rdma_transfer estava ativado.

  • Corrige um problema em que o index join do IMCI podia acionar resultados instáveis ao usar uma constante como condição JOIN.

  • Corrige um problema em que uma tabela temporária usando uma instrução group by podia fazer com que o temptable reportasse um erro table is full mesmo quando o disco não estava cheio.

  • Corrige um problema em que threads de usuário em um nó RO aguardavam muito tempo por uma Free Page quando o Buffer Pool estava muito cheio.

  • Corrige um possível deadlock no blink para cenários de exclusão de dados em lote em tabelas com campos lob.

  • Corrige um problema em que a otimização de eliminação de JOIN no IMCI podia levar a resultados instáveis.

  • Corrige um problema em que o valor Autoinc reiniciava de 1 na próxima operação de gravação após todos os dados de uma tabela serem excluídos.

  • Corrige uma falha ao executar database quando o drop database continha dezenas de milhares de tabelas.

  • Corrige um problema em que subconsultas inúteis não eram excluídas durante o mesclagem de view.

  • Corrige um problema em que uma consulta podia reportar memória insuficiente quando executada no IMCI se tivesse muitas cláusulas UNION ALL.

  • Corrige um problema em que uma instrução desc select não podia chamar corretamente um outline.

  • Corrige um problema em que information_schema.tables em table_comments exibia xxx is not base table.

  • Corrige um problema em que a conversão implícita de tipos de data no IMCI era incompatível com o comportamento do MySQL, levando a resultados inesperados.

  • Corrige um problema de inconsistência de resultado de consulta no IMCI. Isso ocorria quando uma nova partição era adicionada a uma tabela particionada criada em uma versão mais antiga, fazendo com que o tipo padrão de pruner fosse inconsistente.

  • Corrige um problema de precisão de ponto flutuante em JSON.

8.0.1.1.44 (2024-07-06)

Novos recursos

Descrição

  • Suporta a derivação de views correspondentes a partir de condições join.

  • Adiciona uma versão de materialização tardia do UnionAll para o IMCI.

Otimizações de desempenho

Descrição

  • Otimiza o tempo gasto para otimização de consulta em consultas simples (consultas de tabela única).

  • Clusters Multi-master suportam bloqueios de nível de tabela de granularidade fina.

  • Otimiza o desempenho de sum/avg decimal no IMCI.

  • Otimiza o desempenho em cenários de atualização de hotspot.

  • Otimiza o desempenho de hash match no IMCI.

  • Otimiza a memória para metadados usados em consultas IMCI.

  • O IMCI suporta o push down de filtros para outer joins.

  • Ajusta a prioridade do thread de processamento de transações do PolarFS para melhorar o desempenho de DDL do PolarDB.

Correções de bugs

Descrição

  • Corrige uma falha de import table causada por uma página dangling do blink.

  • Corrige um problema de travamento do DB durante um gatilho de checkpoint ativo em vários processos.

  • Corrige um problema em que a alternância dinâmica frequente do RO No Sync podia causar a perda de marcadores.

  • Corrige um problema em que um nó Standby global em um Multi-master Cluster não podia iniciar devido a um segmento de rollback anormal.

  • Corrige um problema em que uma tabela function index com um InnoDB não podia ser arquivada.

  • Corrige um problema em que o Last_query_cost podia ficar negativo em alguns cenários de otimização.

  • Corrige um problema em que a eliminação de join não podia ser realizada quando uma função continha uma função de agregação.

  • Corrige um problema em que o endereço IP no log de auditoria não era atualizado em tempo hábil quando uma conexão era reutilizada sob um connection pool de nível de sessão.

  • Corrige problemas relacionados ao bloqueio e desbloqueio de bloqueios de tabela global em um Multi-master Cluster.

8.0.1.1.43 (2024-06-03)

Novos recursos

Descrição

  • Adiciona suporte de Binlog para upload retomável de transações.

  • Adiciona o parâmetro thread_pool_reset_waiting_state_before_queuing.

Otimizações de desempenho

Descrição

  • O IMCI adiciona Index Join baseado em Hybrid Plan, que suporta o uso de índices InnoDB para operações Join.

  • Otimiza o desempenho de leitura de Page de nós somente leitura no PFS.

  • Otimiza a memória para metadados usados em consultas IMCI.

Correções de bugs

Descrição

  • Corrige um problema em que a definição de valores para optimizer_switch e parallel_query_switch reportava um Error em vez de um Warning para determinados valores incorretos.

  • Corrige um problema em que o valor de optimizer_switch não tinha efeito se uma vírgula fosse adicionada no final.

  • Corrige um problema de alteração de seleção de índice após adicionar uma operação limit a uma consulta de agregação implícita.

  • Corrige um problema em que o undo log crescia continuamente após um follower ser reconstruído em 3AZ.

  • Corrige um problema em que o Persist RO podia fazer com que o RO lesse dados antigos.

  • Corrige um problema de alto atraso de replicação em nós somente leitura em um Multi-master Cluster.

  • Corrige um problema em que o otimizador não conseguia selecionar o Join Order ideal devido a um erro na estimativa de cardinalidade.

  • Corrige um problema de deadlock entre threads que podia ocorrer durante um ajuste de estrutura Btree causado pela exclusão de registros.

  • Corrige uma falha no arquivamento de uma tabela arquivada quando ela tinha um índice decrescente.

  • Corrige um problema em que nenhum dado era retornado ao usar o pushdown de Limit Offset com uma condição de igualdade de índice secundário composto mais uma condição In List de chave primária para obter uma saída paginada em ordem inversa da chave primária.

  • Corrige um problema de permissões excessivas durante a execução da política DLM.

  • Corrige um problema em que a execução de uma instrução Create Table Select em um Multi-master Cluster afetava a disponibilidade de outros nós.

  • Corrige um problema em que páginas do sistema podiam ser corrompidas ao executar instruções DDL em vários nós de um Multi-master Cluster simultaneamente.

8.0.1.1.42 (2024-04-30)

Novos recursos

Descrição

  • Adiciona o recurso de pushdown de predicado, incluindo o push de predicados de HAVING para WHERE, e de HAVING para tabelas derivadas e subconsultas.

  • Adiciona um otimizador híbrido de linha-coluna e capacidade de roteamento de linha-coluna baseado em custo.

  • Suporta a visualização da invocação de Statement Outlines no resultado do EXPLAIN.

  • Suporta o uso de um filtro bloom de murmur hash de prefixo no IMCI.

  • Suporta o uso do recurso de eliminação de LEFT JOIN em instruções UPDATE.

  • Suporta o uso do recurso de adição instantânea de coluna em tabelas que possuem um índice columnstore criado.

  • Adiciona as informações do número de linhas retornadas ao Fast Query Cache. Consultas que atingem o cache podem exibir o número de linhas retornadas no log de auditoria.

Otimizações de desempenho

Descrição

  • Introduz um mecanismo de feedback de execução no roteamento de linha-coluna para coletar informações reais de execução e enviá-las de volta ao otimizador.

  • Desativa a interseção de index merge por padrão para instruções DML para melhorar o desempenho e evitar deadlocks.

  • Reduz a sobrecarga de metadados de alocação de memória e estatísticas de memória no IMCI para economizar memória.

  • O IMCI suporta o uso de BatchProbe para melhorar o desempenho de operações JOIN.

  • Otimiza a memória para metadados, módulos de arquivo e pequenos objetos residentes na RAM no IMCI para reduzir o uso de memória residente.

  • Otimiza a mensagem de erro para importação de dados frios do OSS de volta para o InnoDB.

  • Ignora o impacto do acesso por engenheiros de O&M na métrica de status slow_queries ao monitorar o desempenho do banco de dados.

Correções de bugs

Descrição

  • Corrige um problema em que o mapeamento de caminho OSS de tabelas na lixeira estava incorreto após reiniciar o cluster quando o recurso RECYCLE BIN estava ativado para reciclar tabelas IBD do OSS.

  • Corrige um problema em que um nó somente leitura (RO) com desvio de relógio excessivo podia preemptar as permissões de um nó de leitura/gravação (RW) ao iniciar o disco de votação vetorial NewHA.

  • Corrige um problema em que a stored procedure integrada dbms_oss.delete_table_file não conseguia excluir dados frios no formato CSV.

  • Corrige um problema em que o contador interno do Thread Pool podia ficar incorreto se uma espera de bloqueio ACL fosse encontrada durante a autenticação assíncrona pelo Thread Pool.

  • Corrige um problema em que o espaço Blob do registro original não podia ser recuperado ao realizar uma operação UPDATE em uma coluna do tipo Blob.

  • Corrige um problema de perda de dados ao arquivar repetidamente uma foreign table do OSS.

  • Corrige um problema em que a operação de ordenação não era omitida durante a execução real, mesmo que o otimizador tivesse selecionado um índice de ordenação.

  • Corrige uma falha de nó ao criar uma foreign table do OSS porque o parâmetro oss_prefix não estava configurado no OSS Server.

  • Corrige um problema em que dados anormais podiam ser recuperados ao acessar algumas tabelas no banco de dados information_schema sob um Multi-master Cluster.

  • Corrige um problema em que uma mensagem assert era retornada ao realizar uma operação de multiplicação em dados do tipo Decimal, se pelo menos um multiplicador fosse 0 e a escala do resultado excedesse 16.

  • Corrige um problema em que as estatísticas podiam ser imprecisas porque apenas algumas partições eram amostradas ao atualizar estatísticas em uma tabela particionada com um índice columnstore.

  • Corrige um problema em que o acesso de igualdade de índice não acionava o roteamento adaptativo de linha-coluna.

  • Corrige um problema de impressão excessiva de log de init do Autoinc.

  • Corrige um possível erro em foreign tables do OSS em um cenário Order By Desc.

  • Corrige uma rara falha de nó ao executar o comando TRUNCATE PARTITION em uma tabela particionada com uma coluna auto-increment.

  • Corrige um problema de corrupção de dados devido a diferentes ordens de índice ao realizar uma operação EXCHANGE PARTITION.

  • Corrige uma possível falha de nó causada pelo cancelamento automático de uma operação scale-in precedente no Buffer Pool sob alta concorrência.

8.0.1.1.41 (2024-03-19)

Novos recursos

Descrição

Adiciona um recurso de Left Join baseado em pushdown TopK no índice columnstore.

Otimizações de desempenho

Descrição

  • Suporta a concessão de permissões dinâmicas globais aos usuários para executar os comandos SHOW_ROUTINE, FLUSH_USER_RESOURCES, FLUSH_TABLES, FLUSH_STATUS e FLUSH_OPTIMIZER_COSTS.

  • Otimiza o processo de ativação do modo de consistência global de alto desempenho. Quando o parâmetro innodb_polar_scc é definido como ON em um nó RO, o cluster ativa automaticamente recursos dependentes da consistência global de alto desempenho, como RDMA e PolarTrans, o que reduz a complexidade do processo de controle.

  • Suporta o uso da sintaxe Variable-Setting Hint no recurso de modo de consistência global de alto desempenho.

  • Suporta a definição do parâmetro polar_oss_ddl_shared como ON para acessar dados de tabela que estão sendo arquivados como dados frios.

  • Desativa o recurso de atualização parcial para campos Blob.

  • Suporta o uso do recurso de restauração de banco de dados e tabela para tabelas com um índice columnstore.

  • Suporta o uso do recurso de coleta de estatísticas de valor mais comum no índice columnstore para melhorar a precisão da estimativa de registros por chave em cenários de skew de dados.

  • Otimiza o recurso de agendamento de memória do índice columnstore para melhorar a utilização da memória.

  • Otimiza o recurso de DDL nonblocking para suportar mais instruções DDL.

  • Suporta o uso dos recursos de índice columnstore e consistência global (modo de alto desempenho) simultaneamente.

  • Suporta o uso do comando CHECK TABLE para verificar uma partição específica.

Correções de bugs

Descrição

  • Corrige um problema em que a instrução TRUNCATE podia ser executada em qualquer nó em um Multi-master Cluster.

  • Corrige uma falha de nó causada pelo acesso a uma referência Blob inválida ao pré-ler dados do tipo Blob.

  • Corrige uma possível falha ao exportar uma tabela local para o mecanismo OSS em paralelo.

  • Corrige um problema em que o offset LSN de um checkpoint não atendia às expectativas durante uma operação de checkpoint, fazendo com que a lógica de crash recovery falhasse após uma reinicialização anormal do cluster.

  • Corrige um problema em que uma reinicialização do nó era necessária para recuperar de um rollback do Autoinc.

  • Corrige uma possível falha de nó quando uma tabela temporária baseada no mecanismo TempTable era referenciada várias vezes em uma CTE (Common Table Expression) e um index scan era usado na tabela temporária.

  • Corrige um problema de memória out-of-bounds quando o índice columnstore processava tipos de string muito longos.

  • Corrige uma rara falha de nó ao usar o recurso de índice columnstore com o recurso de pré-leitura ativado simultaneamente.

  • Corrige um problema em que a tarefa de compactação em segundo plano do X-Engine afetava as operações em primeiro plano e o desempenho de consultas lentas devido a um controle de concorrência excessivamente rigoroso.

  • Corrige um problema em que o resultado da estimativa de cardinalidade podia ser impreciso quando uma coluna do tipo BIGINT era usada em uma operação Join com um valor muito grande, impedindo o uso do índice columnstore.

  • Corrige um problema de deadlock no read-ahead de DDL em cenários de DDL paralelo.

  • Corrige um vazamento de memória que ocorria durante uma operação Reload para recursos como Statement Outline e Concurrency Control.

  • Corrige um problema em que campos BIT eram exibidos incorretamente após uma operação Group By.

  • Corrige um problema de incompatibilidade entre a memória TDE e RDMA ao fazer fork de um processo filho.

  • Corrige um problema em que grupos duplicados estavam presentes no conjunto de resultados quando a consulta paralela fazia push down do GROUP BY para um Worker para execução paralela com uma tabela particionada.

  • Corrige um problema de corrupção de índice e incapacidade de acessar dados da tabela devido a diferentes ordens de índice ao realizar uma operação EXCHANGE PARTITION.

  • Corrige problemas com tabelas particionadas cuja chave primária não inclui a chave de particionamento ao usar o otimizador de consulta para pesquisas, realizar operações DML e registrar Binlog.

8.0.1.1.40.2 (2024-02-07)

Correções de bugs

Descrição

  • Corrige um problema em que o atraso de replicação de um nó global somente leitura podia ficar alto quando a carga nos nós primários de um Multi-master Cluster estava desequilibrada.

  • Corrige um problema em que um nó somente leitura podia falhar ao iniciar quando era criado pela primeira vez em um Multi-master Cluster.

  • Corrige um problema em que um nó primário podia falhar ao reiniciar após um DDL ser executado em um Multi-master Cluster.

8.0.1.1.40 (2024-01-19)

Novos recursos

Descrição

  • Suporta estatísticas de amostragem no X-Engine para estimar a taxa de compressão aproximada.

  • Suporta a ativação do recurso de índice columnstore no nó global somente leitura de um Multi-master Cluster (Database/Table).

  • Permite que os usuários ignorem o nível de isolamento de transação definido implicitamente por ferramentas como o Metabase ao usar o recurso de índice columnstore.

  • O Stats Manager suporta o despacho automático da tarefa de coleta de histogramas para um nó somente leitura ou uma hot replica para execução, a fim de alcançar atualizações automáticas de histogramas.

  • Suporta o uso de tabelas temporárias ao usar o Hybrid Plan para acelerar consultas em tabelas largas.

  • Adiciona um recurso para ativar a degradação adaptativa e recuperação automática para semi-sync.

  • Suporta a modificação do conjunto de caracteres de um campo usando o algoritmo INPLACE.

  • O SQL Trace suporta a abertura de opções de configuração para um número limitado de nós somente leitura, o que significa que suporta a configuração do parâmetro sql_trace_type para REPLICA_DEMAND, REPLICA_ALL ou REPLICA_SLOW_QUERY.

Otimizações de desempenho

Descrição

  • Melhora a velocidade do Thread Pool no processamento de solicitações de conexão em cenários de baixa concorrência.

  • Melhora o desempenho do banco de dados em cenários de conexão de curta duração.

  • Otimiza o processo de cálculo da máscara de transação no IMCI.

  • Ao usar o recurso de alternância adaptativa de plano de execução, se houver um alto volume de I/O de leitura de dados frios, o tempo máximo de execução para alternância é aumentado automaticamente.

  • Ajusta o comprimento máximo de exibição de instruções de consulta no SQL Trace.

  • O recurso de índice columnstore adiciona um filtro dinâmico para melhorar a eficiência de join entre tabelas.

  • Ao definir o valor do parâmetro loose_optimizer_switch usando uma instrução SET_VAR HINT, uma vírgula não é mais necessária no final.

Correções de bugs

Descrição

  • Corrige um resultado de ordenação incorreto ao usar o recurso IMCI para consultar dados TopK com ordenação inversa, se as tabelas envolvidas na instrução de consulta contivessem muitos valores NULL.

  • Corrige um problema em que os dados do columnstore não podiam ser recuperados se um nó columnstore somente leitura fosse iniciado durante a execução de um DDL envolvendo uma tabela de índice columnstore.

  • Corrige um problema de vazamento de espaço causado por uma exceção durante uma operação shrink.

  • Corrige um problema em que um nó somente leitura ficava anormal devido à modificação simultânea de estruturas de dados durante o processo de replicação física do X-Engine.

  • Corrige uma falha de atualização ao atualizar um X-Engine de uma read replica para um standby.

  • Corrige um problema de uso excessivo de memória do otimizador ao usar um índice columnstore em cenários de consulta de alta concorrência.

  • Corrige um problema em que as estatísticas podiam ser imprecisas porque apenas algumas partições eram amostradas ao atualizar estatísticas em uma tabela particionada usando um índice columnstore.

  • Corrige um problema em que uma instrução de consulta contendo uma subconsulta que retornava um conjunto de resultados vazio não podia ser roteada para um nó de índice columnstore para execução.

  • Corrige um problema em que regras CCL correspondidas pelo valor DIGEST podiam se tornar inválidas após uma atualização do cluster.

  • Corrige um problema em que a consulta à tabela information_schema.tables era anormalmente lenta quando o banco de dados continha foreign tables CSV ou ORC.

  • Corrige uma falha de parsing do Flink CDC causada por um table_id duplicado no Binlog global de um Multi-master Cluster (Database/Table).

  • Corrige um problema em que dados de transação retomáveis não podiam ser consultados quando o recurso de upload retomável de transações era usado com o recurso de consulta paralela ativado.

  • Corrige uma falha ao adicionar um novo nó RO devido a um baixo offset de registro do nó somente leitura (RO) ao executar o novo processo de restauração de banco de dados e tabela.

  • Corrige um problema em que um thread não conseguia sair devido a um disco cheio ao executar o novo processo de restauração de banco de dados e tabela.

  • Corrige um problema de alto consumo de memória ao usar Prepare Statement para lidar com muitas solicitações simultâneas ou executar consultas complexas.

  • Corrige um problema em que os resultados da consulta estavam incorretos ao usar o IMCI para consultar uma view contendo dados do tipo BIT.

  • Corrige um erro "ERROR 1748 (HY000) Found a row not matching the given partition set" ao inserir em uma tabela particionada KEY. Isso era causado por não considerar a STORED GENERATED COLUMN ao fazer pruning de uma tabela particionada KEY.

  • Corrige um problema em que novas conexões ainda acessavam um arquivo antigo descartado devido a operações frequentes de DDL e HA ao arquivar dados frios como um arquivo IBD.

2023

8.0.1.1.39

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • Suporta o acesso às informações da view INFORMATION_SCHEMA do column store a partir de qualquer nó. Por padrão, agrega e exibe informações de todos os nós do column store.

  • Simplifica o uso de parâmetros para a distribuição automática de requisições entre os nós do row store e do column store.

  • Quando uma instrução de consulta não suporta o uso do motor do column store, defina o parâmetro use_imci_engine como FORCED e execute a instrução de consulta. Nesse caso, o resultado da consulta retornará o motivo pelo qual o motor do column store não pode ser usado.

  • Suporta o uso de subconsultas correlacionadas na cláusula Grouping e a eliminação de subconsultas correlacionadas complexas.

  • O Binlog global de um Multi-master Cluster suporta GTID (identificador global de transações).

  • Otimiza o recurso de scale-out do Buffer Pool, como o cancelamento automático de operações anteriores de scale-in e o dimensionamento oportuno.

  • Otimiza o processo de inicialização do IMCI para reduzir o tempo de preparação de inicialização para índices de coluna.

  • Suporta roteamento adaptativo para consultas híbridas de linha e coluna.

  • Melhora o desempenho de leitura dos nós RO em cenários onde um índice secundário retorna à chave primária.

2023-12-14

Correções de bugs

  • Corrige uma falha de nó causada por um formato incorreto da CONNECTION definida pelo usuário ao criar uma tabela externa do OSS.

  • Introduz um patch do MySQL 8.0.17 oficial para corrigir um problema de rollback de autoinc causado pela modificação de auto_increment_increment no lado do cliente.

  • Introduz um patch do MySQL 8.0.16 oficial para corrigir um problema de deadlock causado por um Blob de tamanho excessivo.

  • Corrige uma falha de nó RO causada pelo Runtime Apply.

  • Corrige um problema em que o flush de páginas sujas do nó RW era bloqueado por não encerrar sua relação de replicação com um nó RO com falha em casos especiais.

  • Corrige um problema de rollback de Autoinc causado pela evicção do cache de tabela devido a um número excessivo de tabelas após um HA.

  • Corrige um problema em que um nó de leitura e gravação em um Multi-master Cluster poderia falhar ao iniciar se o centro de cache fosse reiniciado.

  • Corrige um problema em que uma tabela poderia falhar ao abrir ao alternar o endpoint de gravação em um Multi-master Cluster.

  • Corrige um problema de uso excessivo de memória durante a replicação física em um nó RO.

  • Corrige um problema em que um outline em um nó AP não entrava em vigor quando o comprimento do token SQL excedia o valor do parâmetro max_digest_length.

  • Corrige um problema em que não era possível sincronizar a adição ou exclusão de um outline para um nó RO após a atualização do nó RO.

  • Corrige um problema de alto tempo de resposta para gravações de baixa concorrência em tabelas no X-Engine.

  • Corrige um erro "table definition has changed" quando o Hybrid Plan é aplicado a uma instrução SQL com Order By e as linhas de saída contêm NULL.

8.0.1.1.38.1

Categoria

Descrição

Data de lançamento

Correções de bugs

Para clusters em que nenhum Statement Outline foi adicionado, se um Statement Outline for adicionado após uma atualização de versão, a correspondência de outline não será mais afetada pelo conjunto de caracteres.

2023-11-07

8.0.1.1.38

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • Suporta o uso do procedimento armazenado integrado dbms_oss.delete_table_flie para excluir arquivos não utilizados no OSS.

  • Otimiza o recurso de restauração de banco de dados e tabelas. Por exemplo, melhora a velocidade de restauração e suporta rollback de falha de tarefa.

2023-10-31

Correções de bugs

  • Corrige um problema em que uma tabela com um índice de coluna IMCI não podia ser restaurada para um ponto no tempo.

  • Corrige um problema em que o operador GroupJoin ocupava memória excessiva em alguns cenários, causando falha na consulta.

  • Corrige uma falha ao reverter um RowID avançado ao carregar um checkpoint.

  • Corrige um problema em que um nó somente leitura (RO) que acessava o X-Engine não conseguia relatar informações de referência de versão, causando falha na recuperação de espaço.

  • Corrige um problema em que o otimizador não conseguia estimar com precisão a seletividade do Join ao unir uma coluna sem sinal com uma coluna com sinal.

  • Corrige um problema em que algumas consultas com predicados OR não podiam ser executadas porque o plano de consulta não podia ser vinculado à coluna correta.

  • Corrige um problema em que uma consulta encerrada pelo agendador poderia causar a reinicialização do banco de dados.

  • Corrige um problema de degradação de desempenho de I/O no cenário de materialização tardia do índice columnstore.

  • Corrige uma falha rara de cluster em um Multi-master Cluster devido à não liberação oportuna do bloqueio de metadados para uma tarefa agendada.

  • Corrige um problema de lentidão de consulta ao acessar uma tabela no X-Engine, causado pela incapacidade de usar uma varredura de cobertura de índice após acessar o índice de chave primária.

  • Corrige uma interrupção no link de migração causada pela reinicialização de um cluster PolarDB em um cenário de atualização com um clique do RDS for MySQL para o PolarDB for MySQL.

  • Corrige uma falha de nó de réplica causada por uma sequência extrema de redo log devido a uma relação de concorrência entre a exclusão de uma tabela ou índice no X-Engine e uma operação rara de SwitchMemtable em segundo plano.

8.0.1.1.37

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • Otimiza a taxa em que um nó somente leitura (RO) lê logs do Redo em cenários de Blob grandes.

  • Suporta a chamada de procedimentos armazenados integrados usando nomes de procedimentos em letras maiúsculas.

2023-09-21

Correções de bugs

  • Corrige uma falha de nó causada pela adição de crases aos parâmetros de entrada ao chamar alguns procedimentos armazenados integrados.

  • Corrige uma possível falha de nó ao excluir a última regra CCL do mesmo tipo de instrução SQL que preenchia apenas a palavra-chave, mas não o schema e a tabela.

  • Corrige uma falha rara durante o processo de atualização de um novo nó somente leitura (RO) para um nó de leitura/gravação (RW), se houvesse um log de extensão de arquivo após o checkpoint no nó RW quando o nó RO se conectava.

8.0.1.1.36

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • Melhora a velocidade de arquivamento de dados frios para o OSS no formato CSV.

  • Otimiza o modelo de custo para acesso a índices não cobertos com condições de igualdade.

  • Adiciona o parâmetro opt_non_covering_key_cost para controlar se o custo de posicionamento inicial de um índice secundário deve ser considerado.

  • Adiciona o parâmetro worst_seek_records_threshold para controlar se o custo máximo de I/O do acesso a índices não cobertos com condições de igualdade deve ser limitado durante a estimativa de custo.

  • Adiciona um mecanismo de degradação de tempo limite ao recurso semissíncrono do Redo.

2023-08-22

Correções de bugs

  • Corrige uma falha no recurso de otimização JPPD quando uma CTE continha uma CTE aninhada com múltiplas referências.

  • Corrige um problema em que o nó Slave não acionava o mecanismo de reconexão quando o nó primário era desligado e reiniciado.

  • Corrige um problema potencial ao usar a função JSON_REMOVE na sintaxe para atualização de dados do tipo BLOB.

  • Corrige uma reinicialização anormal de nó causada pelo acesso a memória ilegal durante uma verificação de deadlock de transação.

8.0.1.1.35.1

Categoria

Descrição

Data de lançamento

Correções de bugs

Corrige um problema de alto uso de CPU em clusters de baixa especificação.

2023-07-13

8.0.1.1.35

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • Adiciona a instrução SELECT INTO DEFAULT OSSOUTFILE.

  • Adiciona o parâmetro innodb_polar_import_tablespace_strict_mode, com valor padrão ON. Isso significa que um erro será relatado se a estrutura da tabela contiver um índice de texto completo ao restaurar um banco de dados e tabelas.

  • Suporta a consulta de dados de uma partição especificada em uma tabela particionada usando um índice columnstore.

  • O SQL Trace suporta a amostragem de instruções SQL específicas.

2023-07-05

Correções de bugs

  • Corrige um problema em que um usuário comum podia excluir o sys.

  • Corrige uma reinicialização anormal de nó ao restaurar um banco de dados e tabelas em uma tabela particionada após um HA.

  • Corrige uma falha do nó Standby em alternar para o nó mestre durante uma restauração point-in-time de um Multi-master Cluster.

  • Corrige um problema em que procedimentos armazenados, funções definidas pelo usuário, tarefas agendadas, views e triggers em um Multi-master Cluster não eram isolados entre diferentes nós.

  • Corrige um problema em que procedimentos armazenados, funções definidas pelo usuário, tarefas agendadas, views e triggers em um Multi-master Cluster não podiam ser alternados entre diferentes nós.

  • Corrige um problema em que os dados no banco de dados Information_schema não podiam ser sincronizados e atualizados após a atualização dos dados quando o recurso de cache de consulta estava ativado para um Multi-master Cluster.

  • Corrige um problema de lentidão na limpeza em um Multi-master Cluster quando o número de tabelas de dados era muito grande.

8.0.1.1.34

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • Suporta a criação de um índice columnstore em uma coluna virtual.

  • Suporta o uso do recurso de lixeira para tabelas com um índice columnstore criado.

  • Você pode create hybrid partitions em tabelas.

  • O motor de consulta federada suporta o push down da sintaxe Limit Offset para o banco de dados remoto para execução.

  • O motor de consulta federada suporta o push down de todas as condições compatíveis para o servidor remoto para execução e retorna apenas as colunas exigidas pela consulta.

  • Adiciona a função de fatiamento de dados de chave primária call dbms_dts.show_parallel_ranges (<schema_name>, <table_name>, [<suggestion_ranges>]).

  • Suporta o uso do recurso de arquivamento de dados frios para tabelas com uma chave primária de incremento automático.

  • Otimiza a capacidade de consulta do OSS. Ou seja, após ativar o recurso de consulta paralela elástica, quando o valor do parâmetro loose_csv_max_oss_threads do sistema for maior que 1, uma consulta paralela é executada diretamente.

  • Otimiza o conteúdo da mensagem de erro para formatos de arquivo de tabela externa do OSS incorretos.

  • Suporta a adição da opção ALTER TABLE PARTITION BY RANGE na sintaxe without validation para converter rapidamente uma tabela padrão em uma tabela particionada por RANGE.

  • Suporta a conversão de uma tabela particionada com o atributo 'UNIQUE CHECK IGNORE=1' para uma tabela padrão usando a sintaxe ALTER TABLE REMOVE PARTITIONING.

  • Otimiza o problema de pular o cálculo do hash de digest ao executar uma instrução sem um Outline durante o processo do Statement Outline.

  • Adiciona o recurso InnoDB no OSS.

  • Após atualizar o Statement Outline e o Concurrency Control em um Multi-master Cluster, outros nós mestres são atualizados automaticamente.

  • Otimiza o conteúdo da mensagem de erro para erros de ortografia.

  • Otimiza o desempenho de gravação do nó RW após ativar o semissíncrono StandBy.

  • Adicionado suporte para o tipo de tabela particionada LIST DEFAULT HASH.

  • Suporta a criação de uma tabela particionada LIST DEFAULT HASH usando a sintaxe CREATE LIKE.

  • A sintaxe add partition para criar uma tabela particionada LIST DEFAULT HASH suporta o uso da opção without validation para adicionar uma partição LIST.

  • O SQL Trace suporta o rastreamento das informações de execução de consultas lentas.

  • Otimiza a granularidade de bloqueio no PolarFS, melhorando significativamente o desempenho em alguns cenários de alta carga.

2023-06-12

Correções de bugs

  • Corrige um problema em que o OSS não conseguia ler arquivos JSON.

  • Corrige uma falha na geração do Hint Plan no modo ps.

  • Corrige um problema em que o avanço do LSN do checkpoint não atendia às expectativas.

  • Corrige um problema em que o view_definition estava vazio na view do sistema.

  • Corrige um erro potencial ao executar uma consulta em um nó RO enquanto uma operação ALTER TABLE... IMPORT TABLESPACE estava sendo realizada no nó RW.

  • Corrige um problema em que dados com \n não podiam ser lidos após serem arquivados pelo DLM.

  • Corrige um problema em que arquivos temporários poderiam permanecer no OSS após o arquivamento de dados frios.

  • Corrige um problema em que apenas o primeiro arquivo poderia ser lido ao ler dados frios do OSS no formato CSV.

  • Corrige um problema em que o contador interno do pool de threads poderia ficar anormal durante o registro simultâneo de logs de consultas lentas, causando um acúmulo de requisições SQL.

  • Corrige um possível conflito de coluna de incremento automático durante comandos INSERT simultâneos em um Multi-master Cluster.

  • Corrige um problema de atraso de replicação ao reproduzir logs do Redo de uma tabela larga em um nó RO.

  • Corrige um resultado de consulta incorreto ao usar o recurso de otimização de push down do Limit Offset com uma instrução de consulta contendo uma função de janela.

  • Corrige um problema em que um bloqueio era mantido durante toda a duração ao executar uma instrução CHECK TABLE em um Multi-master Cluster.

  • Corrige um problema em que o arquivo de origem no OSS não podia ser excluído ao executar o comando ALTER TABLE engine = csv storage oss, force; .

  • Corrige uma falha de cluster causada pelo ajuste dinâmico do cache de um Multi-master Cluster.

  • Corrige um problema em que um Multi-master Cluster não conseguia exportar um tablespace.

  • Corrige um push down incorreto de uma tabela com um campo NULL quando o parâmetro engine_condition_pushdown era definido como true.

  • Corrige um possível conjunto de resultados incorreto ao usar o recurso Fast Query Cache para comparar Time e timestamp.

  • Corrige uma possível regressão de desempenho ao ativar dinamicamente o PolarTrans em um cenário de atualização de alta concorrência.

8.0.1.1.33

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • O índice columnstore suporta a adição instantânea de colunas reconstruindo os dados do índice columnstore.

  • O índice columnstore suporta a função REGEXPR.

  • O índice columnstore suporta otimização de poda com base em condições relacionadas a IS NULL e IS NOT NULL.

  • O Multi-master Cluster (Database/Table) suporta o uso do recurso de arquivamento de dados frios.

  • Ao realizar uma atualização de versão secundária do motor em um cluster Multi-master Cluster (Database/Table), suporta a atualização paralela de cada nó no cluster.

  • O Multi-master Cluster (Database/Table) suporta a persistência de estatísticas.

  • Otimiza o Optimizer trace quando o push down de condições do OSS está ativado para tabelas externas do OSS.

  • Os logs do Binlog não são registrados durante o arquivamento manual e automático de dados frios.

  • A consistência global (modo de alto desempenho) adiciona o parâmetro Innodb_scc_timeout_count para registrar o número de tempos limite durante uma consulta.

  • A consistência global (modo de alto desempenho) adiciona o parâmetro Innodb_scc_timeout_degrade_count para registrar o número de vezes que uma consulta atinge o tempo limite e alterna para uma consulta assíncrona.

  • Suporta a consulta de informações gtid em um nó somente leitura.

  • O Hint Plan adiciona os tipos de hint BNL, BKA e MRR.

  • O Fast Query Cache adiciona a variável qc_weak_read_time para ler o cache não em tempo real.

  • O recurso Statement Outline adiciona a interface dbms_outln.add_optimizer_outline('schema', 'hints', 'query') para adicionar Optimizer Hints.

  • Adiciona o recurso Auto Plan Cache.

  • O SQL Sharing usa o formato JSON para exibir plan_extra, ref_by e extra.

  • Exibe o plano de execução nos dados estendidos do log lento.

  • Ao usar o Statement Outline, se os Index Hints especificados não existirem, relata um aviso em vez de um erro.

  • O SQL Sharing adiciona a variável by_expr_ignore_charset. Após definir by_expr_ignore_charset como ON, elimina as diferenças de digest geradas por instruções com Order By ou Group By sob diferentes conjuntos de caracteres. No entanto, após defini-lo como ON, todos os valores de digest gerados nesse modo serão diferentes dos valores de digest gerados antes de ser definido como ON.

  • Otimiza o consumo de memória ao varrer tabelas na lixeira.

  • Fornece capacidade de motor de múltiplas versões.

2023-04-14

Correções de bugs

  • Corrige uma falha de nó de banco de dados ao realizar uma operação de verificação em uma tabela externa do OSS vazia.

  • Corrige um erro ocasional ao executar uma consulta em um nó global somente leitura de um Multi-master Cluster (Database/Table).

  • Corrige um problema em que o tamanho do tablespace de metadados de um Multi-master Cluster (Database/Table) não era sincronizado.

  • Corrige um problema em que os dados de tabela personalizada no tablespace do sistema de um Multi-master Cluster (Database/Table) sofriam rollback.

  • Corrige um problema em que os logs de undo não podiam ser recuperados após ativar o recurso de recuperação de log de undo.

  • Corrige um problema em que ocorria um tempo limite de leitura ao estabelecer a replicação física em um nó somente leitura, impedindo a conexão com o banco de dados.

  • Corrige uma falha de nó causada pela execução de instruções ALTER TABLE DISCARD tablespace ou ADD INDEX após executar DROP INDEX em um Multi-master Cluster (Database/Table).

8.0.1.1.32

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • O recurso de índice columnstore suporta o tipo de dados DECIMAL do MySQL.

  • Ao criar um índice columnstore, suporta a ordenação de dados de acordo com uma coluna especificada para melhorar a eficiência de poda.

  • O recurso de índice columnstore suporta a varredura de dados com base em arquivos no formato ORC ou PARQUET armazenados no OSS.

  • A computação baseada em custo suporta o push down da condição de outer join de uma derived table materializada para o interior da derived table.

  • Otimiza a capacidade do otimizador de estimar o número de linhas varridas para colunas de join em um cenário de derivação de igualdade.

  • O recurso de eliminação de join do otimizador suporta a eliminação da tabela interna de um left join (incluindo tabelas internas com joins aninhados de múltiplos níveis e Semi-Joins).

  • Suporta a sintaxe CAST(... AS INT) , com comportamento idêntico a CAST(... AS SIGNED INT) .

  • Os clusters Multi-master suportam o recurso de backup Multi-master.

2023-02-21

Correções de bugs

  • Corrige um problema em que o desempenho do banco de dados diminuía em cenários de transações de longa duração.

  • Corrige problemas de compatibilidade entre a consistência global (modo de alto desempenho) e o PQ.

  • Corrige um problema em que o uso do recurso de transporte de tablespace transparente em um Multi-master Cluster bloqueava outros nós de executar DDL.

  • Corrige um problema em que o tamanho livre de uma tabela seria, com uma certa probabilidade, exibido como 4 PB.

  • Corrige um problema em que alguns nós de um Multi-master Cluster não conseguiam iniciar quando múltiplos nós primários eram reiniciados em paralelo.

  • Corrige uma falha de cluster ao alternar o ponto de gravação para índices de texto completo e índices columnstore em um Multi-master Cluster.

  • Corrige uma exceção de acesso ao cache do banco de dados ao realizar um DDL de cópia em uma tabela com uma Foreign Key.

  • Ajusta os parâmetros de tempo limite relacionados às conexões de replicação física para evitar problemas de travamento em caso de falha de máquina física.

  • Corrige um problema em que os bloqueios de tabela não podiam ser recuperados durante a recuperação de falha de um Multi-master Cluster.

  • Corrige uma possível falha de nó ao acessar a tabela information_schema.tables enquanto adicionava um novo nó.

  • Corrige um problema de perda de páginas sujas durante a fase de recuperação de falha de um Multi-master Cluster.

  • Corrige uma falha de cluster ao alternar o ponto de gravação após excluir um banco de dados em um Multi-master Cluster.

  • Corrige um problema de acesso ilegal à memória ao usar o motor TempTable com o pool de threads ativado.

2022

8.0.1.1.31

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • A Standard Edition do PolarDB for MySQL adiciona o recurso de failover automático de alta disponibilidade do PolarDB, que tem como base o recurso Reservation de discos cloud NVMe (Non-Volatile Memory Express).

  • O recurso CCL (Concurrency Control) adiciona o procedimento armazenado integrado dbms_ccl.add_ccl_digest_rule, que corresponde às regras CCL por meio de um valor de digest.

  • Os procedimentos armazenados integrados aceitam o uso de variáveis que começam com @ como valores de entrada.

  • Ignora o ponto e vírgula no final da instrução SQL no parâmetro de consulta dos procedimentos armazenados integrados dbms_ccl.add_ccl_digest_rule, dbms_outln.add_index_outline e dbms_outln.add_optimizer_outline.

  • O Statement Outline é compatível com todas as cláusulas UNION.

  • O nome de usuário e a senha não são mais armazenados e exibidos em texto simples na tabela mysql.servers.

    Nota

    O nome de usuário e a senha de um Server existente não serão criptografados após uma atualização. Exclua e recrie o Server manualmente.

  • Compatível com o uso do recurso de pushdown de Limit Offset ao acessar uma partição específica em uma tabela particionada.

  • Os clusters da série de product X-Engine aceitam o uso do recurso de DDL paralelo.

  • O recurso de thread pool adiciona capacidades de autonomia do kernel.

  • O recurso de thread pool é compatível com o CCL. Após ativar o recurso Thread Pool, se a conexão de um usuário for bloqueada pelo CCL, a conexão será marcada no Thread Pool, e o Thread Pool criará threads adicionais para executar instruções SQL em outras conexões.

  • Adiciona a sintaxe de hint OSS_REPLACE_EXISTED_FILE(). Ao executar a instrução SELECT INTO OSSOUTFILE, se o arquivo atual já existir, o arquivo original será sobrescrito diretamente.

  • Aceita consulta paralela em máquina única no motor do OSS.

  • Adiciona a tabela information_schema ao banco de dados INNODB_GLOBAL_DDL_LOCK_INFO para visualizar locks globais em um Multi-master Cluster.

  • Adiciona o recurso AWR SQL Detail para auditar e gerenciar instruções como DDL, LOCK DB e LOCK TABLE.

  • Aceita a geração de estatísticas de índice columnstore por meio do comando ANALYZE TABLE para auxiliar nas decisões de consulta.

  • Tabelas com índice columnstore aceitam o uso do recurso de restauração de banco de dados (tabela).

  • O recurso de índice columnstore aceita o uso da função cast_as_real.

  • Permite visualizar o status e o progresso de compilação de um índice columnstore por meio da tabela INFORATION_SCHEMA.IMCI_ASYNC_DDL_STATS.

  • Otimiza consultas de join em que o campo de join é do tipo string no índice columnstore.

2022-12-07

Correções de bugs

  • Corrige um problema em que IF NOT EXISTS não podia ser usado na sintaxe para criar um Server.

  • Corrige uma possível exceção ao executar uma instrução DDL em um nó master de um Multi-master Cluster.

  • Corrige um possível deadlock ao consultar tabelas no banco de dados information_schema em um Multi-master Cluster.

  • Corrige um problema de degradação de desempenho com replace em um Multi-master Cluster.

  • Corrige um problema em que um lock global era necessário ao criar uma tabela temporária implícita em um Multi-master Cluster.

  • Corrige um possível travamento durante a recuperação de falha de um Multi-master Cluster.

  • Corrige um problema em que o número de leituras lógicas contabilizadas pelo recurso SQL Trace era impreciso.

  • Corrige um problema em que o resultado de saída estava incorreto quando o índice columnstore continha dados dos tipos ENUM e SET.

  • Corrige um problema em que instruções SQL com ROLL UP e GROUP BY não podiam ser roteadas para o column store para execução.

8.0.1.1.30

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • Otimiza a operação UNION ALL do recurso de índice columnstore.

  • O recurso de índice columnstore adiciona um built-in stored procedure para auxiliar na criação de um índice columnstore.

  • O recurso de índice columnstore adiciona o parâmetro global imci_default_pack_shift para controlar o tamanho padrão do pacote ao criar um índice columnstore.

  • O recurso de índice columnstore aceita o uso de tecnologia de partition pruning para otimizar o desempenho de consulta de tabelas particionadas.

  • O recurso de índice columnstore aceita o uso dos tipos de dados BIT, JSON e GEOMETRY.

  • O recurso de índice columnstore é compatível com a operação EXCHANGE PARTITION.

  • Otimiza o desempenho da consistência global (modo de alto desempenho) por meio da tecnologia MTT.

  • A Multi-master Cluster Edition aceita a evicção adaptativa de páginas de dados do cache center.

  • A profundidade recursiva de um documento JSON aceita até 150.

  • A Multi-master Cluster Edition adiciona o parâmetro mm_flush_autoinc_when_unlock para controlar se as informações de autoinc na tabela do sistema devem ser liberadas ao liberar um lock global de banco de dados/tabela. O valor padrão é false.

  • Aceita a correspondência do Statement Outline para todas as instruções SQL com o mesmo valor de Digest quando Schema_name está vazio.

  • O Fast Query Cache aceita o acesso ao cache de tabelas de metadados (information_schema.tables/columns) no banco de dados.

  • Adiciona o recurso SQL Trace para rastrear o processo de execução de instruções SQL.

  • Adiciona a instrução SELECT INTO OSSOUTFILE para exportar uma tabela local (uma tabela no PolarFS) para o OSS.

2022-10-29

Correções de bugs

  • Corrige um problema em que os dados eram lidos de forma incompleta ao ler dados remotamente via RDMA.

  • Corrige um estado anormal da thread de limpeza de tabela quando o nó master era desligado.

  • Corrige um deadlock entre Offline Master e WAR.

  • Corrige um problema em que o nó master não podia ser desligado normalmente ao perder a conexão com o cache center.

  • Corrige uma possível falha de nó ao gravar uma chave primária implícita por meio de uma tarefa agendada.

  • Corrige um problema em que o Binlog era gravado ao executar uma instrução SQL durante uma atualização a quente.

8.0.1.1.29.1

Categoria

Descrição

Data de lançamento

Correções de bugs

Corrige uma falha em um nó RO causada por um conflito de hash de nome de arquivo.

2022-09-17

8.0.1.1.29

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • Os nós de leitura aceitam o recurso de failover com hot replica.

  • O Concurrency Control (CCL) adiciona o parâmetro ccl_mode. Quando o tráfego de acesso ao banco de dados atinge o limite de controle de concorrência, outras solicitações de acesso ao cluster atual são rejeitadas.

  • A sintaxe para criar um servidor OSS adiciona o parâmetro oss_sts_token para configurar uma credencial de acesso temporário para o OSS.

  • Aceita comprimento de digest adaptativo, o que significa que o espaço de memória para o cálculo do digest da instrução pode ser ajustado adaptativamente de acordo com o comprimento da instrução de consulta.

  • Aceita a consulta de tabelas relacionadas ao índice columnstore em INFORMATION_SCHAME por meio do endpoint do cluster.

  • O recurso de índice columnstore adiciona um modo ETL, que aceita a criação de uma tabela usando os resultados de consulta de um nó columnstore somente leitura, e aceita a gravação dos resultados de consulta de um nó columnstore somente leitura em uma tabela.

  • Otimiza o desempenho de consultas TopK (consultas de paginação na forma de order by a limit n,m) no recurso de índice columnstore.

  • O recurso de índice columnstore adiciona o status Last_stmt_use_imci para confirmar se um índice columnstore é usado em uma instrução de consulta.

  • O recurso de índice columnstore adiciona a variável global polar_enable_implicit_imci_with_create_table, que aceita a criação automática de um índice columnstore ao executar uma instrução CREATE TABLE.

  • O recurso de índice columnstore aceita o uso de um Cursor.

  • Aceita o uso de um índice columnstore durante uma consulta de transação explícita.

  • Aceita a criação de um índice columnstore em uma tabela particionada.

2022-09-08

Correções de bugs

  • Corrige uma inconsistência entre o cache e o arquivo causada por uma reversão de transação ao usar o algoritmo de cópia em uma instrução DDL.

  • Corrige um problema em que a exclusão de um banco de dados não era registrada no log lento.

  • Corrige um retorno de resultado incorreto quando o pushdown de Limit offset e a otimização MRR estavam presentes em uma consulta ao mesmo tempo.

8.0.1.1.28.1

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

Otimização do thread pool: Quando uma transação de banco de dados está aguardando um lock de informações de metadados ou um lock de linha, o thread pool pode gerar threads adicionais para lidar com novas solicitações.

2022-08-12

8.0.1.1.28

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • Aceita o recurso de índice columnstore. Por meio do recurso de índice columnstore e do motor de execução vetorizada paralela para dados colunares, a eficiência de execução de consultas complexas pode ser bastante melhorada. Para mais informações, consulte Columnstore index.

  • Aceita que os usuários criem e usem tabelas do motor Federated.

  • Os nós de leitura aceitam tabelas temporárias de memória personalizadas (atualmente aceita apenas os motores MEMORY e MyISAM).

  • Otimiza a classificação DDL: a classificação por intercalação bidirecional é alterada para intercalação multidirecional para reduzir o número de operações de I/O e melhorar o desempenho da adição de índice DDL.

  • Aceita o recurso de leitura antecipada de DDL para melhorar a eficiência da criação de índices.

  • A sintaxe para criar um servidor OSS adiciona o parâmetro oss_prefix para configurar o caminho do arquivo OSS.

2022-07-20

8.0.1.1.27

Categoria

Descrição

Data de lançamento

Correções de bugs

Corrige um problema de atraso excessivo na replicação física sob baixa carga do cluster.

2022-05-25

Corrige um problema em que a limpeza da LRU List era bloqueada, impedindo a liberação de Pages, em cenários onde o Buffer Pool tinha muitas páginas sujas e a liberação era lenta.

Otimiza o problema de alocação de memória durante o processo de inserção de dados.

Corrige um problema em que o comando innodb_show_verbose_deadlock exibia informações completas de deadlock quando o valor de ON era show engine innodb status (o valor padrão).

Corrige uma falha em um novo nó RO registrado no cluster após o nó RW concluir uma operação undo truncate.

Corrige um conjunto de resultados de varredura SKIP_SCAN incorreto após os dados no banco de dados serem marcados para exclusão.

8.0.1.1.26

Categoria

Descrição

Data de lançamento

Correções de bugs

Corrige um resultado incorreto para Using index for group by.

2022-05-05

Corrige um conjunto de resultados de varredura SKIP_SCAN incorreto após os dados no banco de dados serem marcados para exclusão.

Corrige um possível conjunto de resultados de varredura SKIP_SCAN incorreto quando existiam vários grupos de dados no prefixo do índice.

8.0.1.1.25

Categoria

Descrição

Data de lançamento

Correções de bugs

Corrige um resultado incorreto para Using index for group by.

2022-04-12

8.0.1.1.24

Categoria

Descrição

Data de lançamento

Correções de bugs

  • Corrige um problema em que threadpool_high_priority_users não era analisado corretamente na inicialização do banco de dados.

  • Corrige um problema em que a modificação dinâmica de threadpool_high_priority_users podia afetar outros parâmetros.

  • Corrige uma falha rara em um nó somente leitura do X-Engine ao reproduzir logs de Redo.

2022-03-11

8.0.1.1.23

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • Aceita o recurso Strict Consistency Cluster (leitura de consistência forte em nós RO).

  • O Statement Outline é compatível com PrepareStatement.

  • Aceita o recurso de hot replica para otimizar ainda mais a eficiência da alta disponibilidade.

2022-01-20

Correções de bugs

  • Corrige um problema em que a aquisição de um lock MDL pelo Fast Query Cache em um nó RO bloqueava a sincronização de logs de Redo.

  • Aceita a sintaxe SELECT FOR UPDATE/SHARE WAIT N. Aqui, N representa o tempo limite em segundos para um lock de linha única. Se uma consulta precisar bloquear várias linhas, o tempo não é acumulado; a detecção de tempo limite é executada apenas para uma única linha. Se o tempo de espera exceder N segundos, um erro de tempo limite de espera de lock Lock wait timeout exceeded; try restarting transaction será retornado.

2021

8.0.1.1.22

Categoria

Descrição

Data de lançamento

Correções de bugs

  • Otimiza a precisão da estimativa de paralelismo para acesso de igualdade de índice de tabela particionada em um plano paralelo.

  • Corrige um problema em que o custo da estimativa de estatísticas pelo otimizador era demorado em cenários específicos.

  • Corrige um problema em que o otimizador não escolhia um caminho de intervalo de índice melhor para algumas instruções GROUP BY.

  • Corrige uma falha na criação de um novo arquivo de log de Redo após um nó Standby ser alternado para um nó primário por meio de HA.

2021-12-22

8.0.1.1.21

Categoria

Descrição

Data de lançamento

Correções de bugs

  • Corrige um resultado incorreto da função GROUP_CONCAT causado por um estouro aritmético quando o valor do parâmetro group_concat_max_len era grande.

  • Corrige um erro de dados que ocorria após um nó Standby em uma zona secundária se recuperar de uma falha.

  • Corrige uma anomalia de dados que ocorria quando um nó Standby em uma zona secundária era alternado para um nó primário (nó RW).

  • Corrige um problema em que o otimizador só podia executar filtragem de índice de coluna única, e não filtragem de índice composto, quando uma condição de filtro de índice composto de várias colunas era selecionada.

2021-11-26

8.0.1.1.19

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • Adiciona novas regras de controle de concorrência (CCL) para operações DDL.

  • Adiciona o parâmetro restrict_on_limit_without_order para controlar se a execução de consulta paralela é permitida para consultas com uma cláusula limit, mas sem uma cláusula order by.

2021-09-18

Correções de bugs

  • Corrige um problema em consultas paralelas em que a classificação implícita para GROUP BY resultava em um conjunto de resultados não ordenado quando um índice na coluna GROUP BY era usado.

  • Corrige um erro em que o campo ID da transação no log de auditoria era sempre 0 ao usar o thread pool.

8.0.1.1.18

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

O kernel do banco de dados agora aceita uploads de transações retomáveis e permite que nós somente leitura leiam transações não confirmadas.

2021-08-14

Correções de bugs

Otimiza o master_key_id_mutex para permitir que operações DDL sejam executadas em paralelo.

8.0.1.1.17

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • Adiciona o parâmetro polar_replica_work_on_nonblock_mdl_mode. Quando este parâmetro é ativado, transações não confirmadas no nível de isolamento RU/RC em um nó somente leitura não bloquearão mais as operações DDL no nó primário. No entanto, as propriedades transacionais das definições de tabela no nó somente leitura não serão mais garantidas.

  • Otimiza o mecanismo de manutenção de estatísticas em cenários com um número massivo de tabelas (como aquelas que exigem service SaaS). Isso melhora significativamente o desempenho de consultas de estruturas de tabela (desc table) e operações de leitura/gravação sob alta concorrência.

2021-07-23

Correções de bugs

  • Corrige uma falha em m_recv_bits.is_set(fold) em um nó somente leitura durante a replicação física sob alta pressão de concorrência.

  • Corrige uma falha durante a reprodução de logs em um nó somente leitura sob alta pressão de concorrência.

8.0.1.1.16

Categoria

Descrição

Data de lançamento

Correções de bugs

Quando uma solicitação de ACL Cache Lock aguarda, informações sobre a thread solicitante e a thread detentora do lock mais antiga são impressas no log de erros do master para auxiliar no diagnóstico do problema.

2021-06-24

8.0.1.1.15

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações

  • O TDE agora aceita criptografia automática para novas tabelas criadas em um cluster MySQL.

  • As tabelas de dados do MySQL agora aceitam o conjunto de caracteres utf8mb4_0900_bin.

2021-05-25

Correções de bugs

  • Corrige uma falha de banco de dados causada por um registro excessivamente longo gerado ao reverter uma operação Update após um instant add column.

  • Corrige um problema em que instruções DDL forçavam as tabelas mysql.slow_log e mysql.general_log a usar o motor InnoDB.

  • Corrige um conjunto de resultados incorreto causado por um erro nas informações de metadados da função REGEXP.

  • Corrige uma falha de banco de dados causada pela reversão de uma operação Update em uma coluna virtual.

  • Ajusta a estratégia para definir se um nó RO deve acionar imediatamente um checkpoint após o registro inicial no nó primário. Um checkpoint pode não ser acionado se a diferença de LSN for menor que o limiar especificado.

8.0.1.1.14

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • Otimiza a manutenção de informações de índices internos em cenários com uma quantidade massiva de tabelas (como aquelas que exigem services SaaS) para melhorar a velocidade de inicialização de nós somente leitura.

  • Otimiza as conexões de sincronização do GDN, reduz o consumo de CPU pelas threads de sincronização e melhora a velocidade de sincronização de logs Redo do cluster para clusters secundários de pequena especificação (ou seja, com menos de 8 núcleos).

  • Otimiza a estratégia AutoDop nos parâmetros de controle do grau de paralelismo para evitar afetar o uso do PARALLEL HINT e force_parallel_mode.

2021-04-23

Correções de bugs

  • Corrige um problema em que um índice incorreto era usado para uma consulta RANGE de amplo intervalo devido a estatísticas records_in_range imprecisas.

  • Corrige uma falha no nó Standby causada por um buffer pool muito pequeno durante uma restauração completa de dados em um ponto no tempo.

  • Corrige um problema de consumo excessivo de memória por metadados internos no X-Engine.

  • Corrige dois problemas de DDL de ACL do MySQL oficial para evitar a indisponibilidade do cluster causada por deadlocks de operações de DDL de ACL.

  • Corrige um problema em que um conjunto de resultados incorreto era retornado quando uma consulta paralela incluía a palavra-chave SQL_BUFFER_RESULT e usava uma função de agregação sem um GROUP BY.

8.0.1.1.13.2

Categoria

Descrição

Data de lançamento

Correções de bugs

Corrige uma possível falha de descriptografia causada pela perda de informações de criptografia em tabelas criptografadas com TDE durante um failover entre primário e secundário.

2021-04-19

8.0.1.1.13.1

Categoria

Descrição

Data de lançamento

Correções de bugs

Corrige uma lentidão em consultas paralelas causada pela falha em aplicar pushdown de condições de filtro constantes do algoritmo Block Nested-Loop Join (BNL) para uma única tabela.

2021-04-08

8.0.1.1.13

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • Os nós somente leitura agora suportam o parâmetro polar_use_statement_mdl_on_replica para evitar que transações em nós somente leitura (no nível de isolamento RC) bloqueiem operações de DDL no nó primário. Além disso, quando uma transação de leitura em um nó somente leitura é simultânea com um DDL no nó primário, a transação de leitura verá definições de tabela diferentes (por exemplo, se uma operação ADD COLUMN ocorrer no nó primário entre duas instruções de uma transação de leitura em um nó somente leitura, a segunda instrução no nó somente leitura lerá mais colunas do que a primeira).

  • Remove condições de igualdade desnecessárias do caminho de pesquisa de igualdade de índice para facilitar a execução de pushdown de Limit offset em cenários ORDER BY LIMIT.

  • Adiciona o comando dbms_stats.gather_stats(timeout, workers), que suporta a atualização de histogramas desatualizados por meio de agendamento de eventos ou execução manual.

  • O mysql.slow_log agora suporta a visualização dos campos log_version, log_id, origin_start_time e rds_ext.

2021-03-30

Correções de bugs

  • Corrige um problema em que uma consulta não podia ser encerrada ao executar comandos como CHECK TABLE, COUNT(*) ou DDL em uma tabela X-Engine.

  • Altera KICKOUT para uma palavra-chave não reservada.

  • Corrige um problema em que a consulta paralela não era totalmente utilizada em certas situações porque o número estimado de linhas verificadas durante a geração do plano de consulta era menor que o número real.

8.0.1.1.12.2

Categoria

Descrição

Data de lançamento

Correções de bugs

  • Corrige um problema de indisponibilidade do cluster causado pela criação ou exclusão de uma tabela temporária em um procedimento armazenado quando a variável de sistema session_track_temporary_tables estava ativada.

  • Introduz um patch do MySQL oficial 8.0.14 para resolver um problema em que a instrução CREATE USER era bloqueada devido à incapacidade de adquirir um bloqueio de metadados (MDL) nas tabelas do sistema do banco de dados MySQL.

2021-03-12

8.0.1.1.12.1

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

Otimiza o desempenho de gravação do PolarDBX-Engine Edition ao importar dados continuamente em cenários com múltiplas tabelas.

2021-03-02

Correções de bugs

Corrige uma possível inconsistência no estado do bloqueio de metadados (MDL) entre as threads Leader e Worker em uma consulta paralela. Isso foi causado por uma proteção de mutex ausente para a thread Leader.

8.0.1.1.12

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • A política de controle do grau de paralelismo adiciona o parâmetro auto_dop_low_degree_cost para definir a estratégia de seleção de paralelismo para consultas paralelas. Para mais informações, consulte Parallel resource control policy configuration.

  • Adiciona suporte para recuperar rapidamente tabelas na lixeira usando o comando restore_table. Para mais informações, consulte Table recycle bin.

  • Suporta a obtenção de Binlog de nós somente leitura. Para mais informações, consulte Remotely obtain and parse Binlog logs of PolarDB for MySQL.

  • Suporta a impressão de informações importantes, como opt trace no in_memory, para ajudar a localizar a causa de problemas quando ocorre um erro no plano de execução.

2021-02-20

Correções de bugs

  • Introduz um patch do Port Percona para resolver a lentidão na detecção de conflitos de bloqueio de metadados do ACL CACHE em cenários de alta concorrência.

  • Adiciona o parâmetro optimizer_switch à variável de sistema preferred_ordering_index. Isso corrige um problema em que o plano ideal não era selecionado em certos cenários (como consultas ORDER BY ou GROUP BY com uma cláusula LIMIT) devido ao uso de um índice ordenado.

  • Corrige um resultado incorreto do SHOW PROCESSLIST em alguns cenários.

  • Corrige o acesso lento às tabelas do sistema após uma atualização de versão secundária a partir de versões anteriores à 8.0.1.1.10. Isso foi causado pela não atualização da definição da tabela de sistema information_schame.KEY_COLUMN_USAGE.

8.0.1.1.11

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • Adiciona suporte para definir a estratégia de configuração de paralelismo em consultas paralelas por meio do parâmetro parallel_degree_policy. Para mais informações, consulte Parallel resource control policy configuration.

  • Adiciona suporte para limitar o comprimento de instruções reconhecíveis definindo o valor do parâmetro max_digest_length com uma instrução SET GLOBAL.

    Nota

    Quando o valor do parâmetro max_digest_length é modificado, o cliente precisa se reconectar ao cluster para que o novo valor do parâmetro tenha efeito.

  • O parâmetro innodb_adaptive_hash_index é alterado de ON para OFF.

2021-01-29

Correções de bugs

  • Corrige um problema de permissões inconsistentes entre os nós primário e somente leitura.

  • Corrige um problema em que um nó somente leitura não conseguia se conectar ao nó primário após um failover entre primário e secundário.

  • Corrige uma lógica de processamento incorreta no SPM quando um plano de execução específico se torna inválido.

8.0.1.1.10

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • Adiciona suporte para classificação implícita de Group By, consistente com seu uso no PolarDB for MySQL 5.7.

  • Adiciona um recurso para desativar a consulta paralela quando um campo Blob está presente.

  • Adiciona um recurso para atualizar automaticamente as informações de cache de controle de concorrência no nível de instrução em nós somente leitura.

  • Adiciona o recurso de otimização de linha de hotspot. Para mais informações, consulte Hotspot row optimization.

  • Adiciona suporte para otimização de replicação física de DDL. Para mais informações, consulte DDL physical replication optimization.

  • A replicação assíncrona de bloqueio de metadados agora é suportada. Para mais informações, consulte async metadata lock replication.

  • Adiciona um recurso para travessia reversa rápida quando a computação é aplicada em pushdown.

  • Otimiza o sistema de arquivos para acelerar a abertura de tabelas em cenários com múltiplas tabelas.

  • Reduz o tempo de failover entre primário e secundário em cenários com múltiplas tabelas e acelera a recuperação do novo nó primário.

2021-01-12

Correções de bugs

  • Corrige um problema de perda de tabelas do sistema quando um nó somente leitura era promovido a nó primário.

  • Corrige um problema em que o uso de uma consulta de intervalo após ativar a consulta paralela causava uma superestimativa do número de linhas verificadas.

  • Corrige um problema em que o resultado de uma consulta de agregação era um número inteiro quando o tipo de campo era BIT.

  • Corrige um resultado incorreto retornado por uma consulta SELECT DISTINCT após o uso de um campo de enumeração.

  • Corrige um resultado anormal em uma consulta paralela usando uma condição EXISTS.

  • Corrige uma falha na reinicialização do nó somente leitura em alguns casos.

  • Corrige um problema de informações anormais de tabela no dicionário de dados. Isso foi causado por uma tabela relacionada a chave estrangeira reabrindo a tabela de execução de DDL quando era aberta durante uma execução de DDL em um nó somente leitura.

  • Corrige uma falha de consulta de índice de texto completo causada por um sinalizador de reinicialização de nó definido incorretamente após um failover entre primário e secundário.

  • Corrige um problema em que a thread de aplicação de log em um nó somente leitura era bloqueada por um bloqueio de metadados (MDL).

  • Corrige um problema em que um novo nó primário ficava indisponível após um failover entre primário e secundário devido à reutilização de memória liberada.

  • Corrige um problema em que todos os nós ficavam indisponíveis devido a um problema de dados no polar.info.

  • Corrige um problema anormal de coluna de incremento automático em uma tabela particionada.

  • Corrige um erro de dados causado por uma sobrescrita de log Redo no nó primário.

  • Corrige um problema em que o nó primário ficava indisponível ao aguardar um bloqueio de metadados (MDL).

  • Corrige problemas relacionados ao usar a criptografia transparente de dados (TDE).

  • Corrige um problema de indisponibilidade do cluster ao executar Lock Table com o recurso de lixeira de tabelas ativado.

  • Corrige um deadlock no nó primário ao executar um DDL.

  • Corrige um problema em que o pool de threads e o controle de conexão não podiam ter efeito simultaneamente.

2020

8.0.1.1.9

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

Remove SPM e PLAN como palavras-chave para evitar problemas em que tabelas não podiam ser operadas se seus nomes contivessem essas palavras.

2020-12-18

8.0.1.1.8

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • O gerenciador de planos de execução adiciona um modo de múltiplos planos.

  • Adiciona a variável de sistema rds_ap_threshold para bloquear solicitações em que o otimizador estima um número excessivo de registros verificados.

  • Melhora a eficiência de liberação de páginas sujas no nó primário.

  • Adiciona um mecanismo de gravação multi-shard para Redo.

2020-12-09

Correções de bugs

  • Corrige um problema de ponteiro nulo com a chave de bloqueio de metadados (MDL) durante a execução de consulta paralela.

  • Corrige uma falha de consulta ao criar um cache de threads paralelas.

  • Corrige um resultado anormal da Leitura de Múltiplos Intervalos (MRR) de consulta paralela.

8.0.1.1.7

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • Melhora a eficiência da verificação paralela para tabelas orientadas em cenários de consulta JOIN.

  • Adiciona suporte para limpar arquivos Binlog residuais mesmo quando o Binlog está desativado.

  • Adiciona um mecanismo de verificação e reconexão automática para replicação física de nó Slave desconectado, a fim de evitar desconexões prolongadas de replicação física.

  • Melhora a eficiência de failover entre os nós primário e somente leitura.

  • Suporta inicialização rápida de clusters com muitas tabelas para verificação rápida de arquivos de dados de tabela.

2020-11-16

Correções de bugs

  • Corrige uma falha do cluster ao obter o tipo de trx->wait_lock.

  • Corrige um problema em que o número de threads AIO era limitado quando o AIO Simulado de múltiplas filas estava ativado.

  • Corrige um problema em que uma consulta não podia ser encerrada diretamente se a consulta inicial falhasse ao consultar um índice.

  • Corrige um problema em que a Próxima Página do cursor atual apontava para uma Página inexistente durante uma Operação de Divisão e Mesclagem (SMO) em um nó Slave.

  • Corrige um problema em que um nó somente leitura lia informações de log que já haviam sido sobrescritas pelo nó primário.

  • Corrige uma falha ao limpar arquivos Redo causada por um intervalo de carimbo de data/hora excessivamente grande no log Redo.

  • Corrige um problema em que as informações de cache de tabela no cache relevante não eram limpas ao liberar um bloqueio de metadados (MDL).

8.0.1.1.6

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • Melhora a compatibilidade do SPM (gerenciador de planos SQL) e da consulta paralela.

  • Melhora a eficiência da classificação por mesclagem de consulta paralela.

  • Suporta pushdown de computação para operações de exclusão.

  • Suporta o recurso PolarDB Commit Timestamp (CTS).

2020-09-21

Correções de bugs

  • Corrige uma descrição incorreta de pq_optimize_switch.

  • Corrige um problema em que uma subconsulta não podia ser executada de forma estável.

8.0.1.1.5

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • Especifica se o nó primário executa imediatamente a política de checkpoint ao estabelecer uma relação de replicação com um nó somente leitura.

  • Suporta consultas de intervalo simples e pushdown de computação.

  • O PFS (Polar file system) adiciona um recurso pfs_remount para evitar a impossibilidade de montar um arquivo PFS devido ao arquivo não estar fechado.

  • Resolve um gargalo de desempenho causado por pausas forçadas da thread Parse em nós somente leitura, melhorando a eficiência da sincronização de dados durante a replicação física.

  • Otimiza o desempenho de Early Lock Release em cenários de múltiplas conexões, melhorando o desempenho do cluster nesses cenários em até 10 vezes.

2020-08-19

Correções de bugs

  • Corrige um problema de indisponibilidade em um nó somente leitura após falha ao se conectar ao nó primário.

  • Corrige um problema de indisponibilidade em um nó somente leitura após um failover entre primário e secundário, que ocorria após o uso de um índice de texto completo e a execução de uma instrução de consulta DDL.

  • Corrige um problema em que um purge binlog não podia ser executado após a execução de um comando UNDO TRUNCATE.

  • Corrige um problema de estatísticas inconsistentes entre os nós somente leitura e primário.

8.0.1.1.4

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • Suporta DDL paralelo para melhorar a eficiência de execução de DDL.

  • Suporta ajuste dinâmico do comprimento de múltiplas filas no AIO Simulado.

  • Suporta consistência de cache de Full Text Search (FTS).

  • A cláusula WHERE suporta subconsultas contendo funções de agregação. Se a subconsulta suportar verificação baseada em índice, ela também pode suportar execução paralela.

  • Tabelas temporárias suportam verificações de modo de bloqueio assim como tabelas padrão.

2020-07-04

Correções de bugs

  • Corrige um problema de indisponibilidade do cluster causado por alguns DDLs ainda serem replicados quando o nó primário era rebaixado para um nó secundário.

  • Corrige um problema de degradação de desempenho causado pela ativação do pool de threads.

  • Corrige um deadlock causado por purge binlog.

  • Corrige vários problemas de vazamento de memória.

  • Corrige vários problemas que ocorreram em cenários de alta disponibilidade.

8.0.1.1.3

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • Melhora a segurança (como gerenciamento de senhas).

  • Melhora o desempenho da Consulta Paralela nos seguintes cenários:

    • Melhora o desempenho da consulta paralela em cenários com GROUP BY, UNION e SELECT COUNT(*) FROM <table>.

    • Cenários em que o plano de execução usa uma tabela temporária InnoDB compartilhada em uma subconsulta paralela.

    • Cenários em que o plano usa uma VIEW/DERIVED TEMP TABLE.

    • A consulta paralela suporta cenários que definem tabelas temporárias, mas com as seguintes limitações:

      • Não suporta SELECT COUNT(*) em uma tabela temporária sem uma condição.

      • Não suporta paralelismo em uma tabela temporária do Memory Engine.

  • Suporta a nova versão do formato de log de auditoria, que adiciona informações de VIP.

  • Suporta controle de proporção de espaço livre na página de índice para reduzir a probabilidade de SMO e contenção de latch, melhorando o desempenho de gravação.

  • Suporta AIO simulado de múltiplas filas para melhorar o desempenho de liberação e gravação.

  • Suporta não gravar o conteúdo do buffer pool em arquivos core para reduzir o tamanho dos arquivos core e evitar afetar os services online.

2020-05-29

Correções de bugs

  • Corrige um problema em que o mecanismo de armazenamento TempTable relatava incorretamente um erro de falta de memória em vez de retornar ao armazenamento baseado em disco quando o limite máximo de memória para TempTable era atingido.

  • Corrige um problema de indisponibilidade do cluster ao usar ORDER BY em uma pesquisa de texto completo InnoDB com um parâmetro de tamanho de buffer de classificação pequeno.

  • Corrige um problema em que o Campo correto não podia ser encontrado quando uma tabela temporária tinha colunas com o mesmo nome.

  • Corrige um problema em que uma consulta paralela usando a função MAX/MIN com GROUP BY e um loose scan não podia ser encerrada.

  • Corrige vários problemas de failover.

  • Corrige vários problemas de consulta paralela.

  • Corrige um problema em que o uso do comando SHOW BINARY LOGS podia bloquear confirmações de transações.

8.0.1.1.2

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • Suporta um método de otimização de ordenação baseado em prefixos de string (ou seja, a ordenação ocorre primeiro com base no prefixo da string e, se os prefixos forem iguais, o sistema usa o comprimento total da string para a ordenação). Ao ordenar colunas de tipos de caractere longos, especifique o comprimento máximo de prefixo diferente dos valores da coluna para acelerar a comparação e reduzir o tempo de ordenação.

  • Adiciona suporte para consulta paralela nos seguintes cenários:

    • Suporta paralelismo para o modelo de estimativa de Range Cost.

    • Suporta paralelismo para tabelas Temporary Table.

    • Suporta paralelismo nas estratégias de Lookup e Scan de materialização de Semijoin.

  • Adiciona 3 tipos de rastreadores de estado de sessão que o roteamento inteligente do PolarDB pode usar para oferecer suporte ao recurso de conexões persistentes. Além disso, quando o rastreador está ativado, ele rastreia alterações em variáveis de usuário em uma sessão, a criação e exclusão de tabelas temporárias e operações de prepare e deallocation em instruções SQL.

  • Otimiza o desempenho do Drop AHI durante um processo de DDL para reduzir o impacto do DDL no desempenho do cluster.

  • Adiciona o recurso de lixeira de tabelas para evitar perda de dados devido a exclusões acidentais.

  • Otimiza o desempenho do truncamento de um tablespace temporário de buffer pool grande para reduzir o impacto das operações de tabelas temporárias no desempenho do cluster.

2020-04-09

Correções de bugs

  • Corrige um problema com ROLLUP quando uma função de agregação estava presente em uma função IF.

  • Corrige um problema com tipos Blob durante o processo de ordenação.

  • Corrige um problema específico com SQL contendo uma função de agregação em Prepare em um ambiente paralelo.

  • Corrige vários problemas de consulta paralela.

  • Corrige um problema que permitia a limpeza de muitos Redo logs.

  • Corrige problemas relacionados a Redo logs em nós RO.

8.0.1.1.1

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • Suporta o uso de paralelismo em cenários em que uma subconsulta contém ROLLUP.

  • Suporta o recurso de controle de concorrência de instruções.

  • Adiciona a Hint POLARDB_INDEX.

  • Otimiza a latência de sincronização entre os nós primário e somente leitura.

  • Suporta Thread Pool.

  • Suporta o plugin keyring_rds do TDE.

  • Suporta Global Database Network (GDN).

  • Otimiza o sistema de transações sem bloqueio para melhorar o desempenho de leitura e gravação.

2020-03-28

Correções de bugs

  • Corrige vários problemas de consulta paralela.

  • Corrige um problema em que as estatísticas podiam ser 0 durante um processo de DDL ONLINE.

  • Otimiza o sistema de arquivos em modo de usuário para acelerar a inicialização do cluster.

  • Corrige um problema potencial de indisponibilidade do cluster quando innodb_flush_method estava definido como all_o_direct.

  • Corrige um problema potencial de indisponibilidade do cluster ao liberar bloqueios durante o commit de uma transação.

  • Corrige um problema em que o truncamento de slow log podia bloquear solicitações de usuário.

  • Corrige um problema potencial de indisponibilidade do cluster com páginas compactadas em um nó RO.

  • Corrige um problema em que o pool de threads podia desconectar incorretamente uma conexão de replicação kill.

8.0.1.1.0

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • Aprimora o recurso de consulta paralela para oferecer suporte à computação paralela da função ROLLUP de análise de nível empresarial.

  • Adiciona recursos ao modelo de estimativa do otimizador (como o aprimoramento da seletividade de filtragem de condições e o modelo de estimativa de custo para consultas paralelas). O SQL executado pode escolher com mais precisão um plano paralelo ou serial com base na seletividade.

  • Suporta o gerenciamento unificado de threads de trabalho paralelas alocadas no modo FIFO para evitar a exaustão de recursos do sistema causada por muitas consultas paralelas.

2020-02-05

Correções de bugs

  • Corrige uma série de problemas relacionados à memória em consultas paralelas.

  • Corrige vários problemas de instabilidade em consultas paralelas.

8.0.1.0.6

Categoria

Descrição

Data de lançamento

Correções de bugs

  • Corrige um problema em que o arquivo Binlog Index não era fechado durante o rebaixamento do nó primário para um nó secundário.

  • Corrige um problema de indisponibilidade do cluster que ocorria quando um nó RO acessava uma página Undo limpa.

  • Corrige um problema em que uma thread em segundo plano acessava uma página de tablespace inexistente durante um failover primário-secundário em um nó RO.

  • Corrige um problema de indisponibilidade do cluster causado pela gravação no Redo log após a thread de log já ter saído durante o desligamento do cluster.

2020-01-01

2019

8.0.1.0.5

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • O Optimizer trace agora suporta informações relacionadas a consultas paralelas (por exemplo, use a ferramenta Optimizer trace para analisar por que o paralelismo foi ou não usado).

  • Adiciona Hints relacionadas a consultas paralelas, com suporte para ativação explícita do paralelismo e especificação do grau de paralelismo por meio de SQL Hints.

  • Suporta varredura paralela para INSERT..SELECT em READ COMMITTED. Use a instrução INSERT..SELECT para adicionar dados importados a outra tabela.

2019-12-03

Correções de bugs

  • Corrige vários problemas de consulta paralela.

  • Corrige um problema de indisponibilidade de nó que ocorria durante a promoção de um nó secundário para nó primário em um failover primário-secundário.

  • Corrige uma falha causada pelo uso de algumas instruções DDL durante um failover primário-secundário.

  • Corrige um erro "too many connection" causado por limitações de bloqueio.