多主集群(Limitless) 8.0.1版本发布日志

本文将详细介绍PolarDB MySQL多主集群(Limitless)8.0.1版本的更新日志和全部的功能特性。

2025

8.0.1.0.40(2025.10.21)

新增功能

说明

  • 新增物化视图刷新任务指定执行节点功能,允许将刷新任务调度到特定节点执行,以实现计算资源的隔离与负载均衡。

  • 新增物化视图的全量刷新功能,支持对视图进行完整的数据更新,确保数据的一致性。

  • 新增聚合节点对Redo日志的异步I/O读取能力,提升Redo日志的合并(Combine)速率,从而加速数据同步过程。

  • 新增Orca(兼容Redis协议)兼容接口的监控指标,包括活跃连接数、新建连接数和内存使用量,以增强对Orca服务的可观测性。

  • 新增动态开关以启用或禁用只读(RO)节点的游标位置调整功能,为特定场景下的数据读取提供更灵活的控制。

  • 新增列存索引(IMCI)对列存全文索引的支持,通过倒排索引技术显著提升文本的模糊搜索(LIKE '%...%')性能。

  • 新增参数rds_max_tmp_disk_space,用于限制单个查询中所有临时表能够使用的最大磁盘空间,防止因临时表过度膨胀导致磁盘空间耗尽。

  • 新增对Orca(兼容Redis协议)兼容接口AUTH password认证方式的支持,当集群设置了默认账号时,客户端可直接使用密码进行认证。

性能优化

说明

  • 优化Orca(兼容Redis协议)的内部Redis命令处理结构与锁路径,使整体读写性能提升约10%。

  • 优化海量数据场景下列存索引只读节点重启的元数据加载过程,降低因元数据列表过长导致的内存溢出(OOM)风险。

  • 优化BLOB页的预分配策略,在禁用SDI(Serialized Dictionary Information)时避免因SDI更新机制造成不必要的存储空间浪费。

  • 优化列存索引只读节点的本地文件命名规则,统一不同角色节点的文件名格式,以简化角色切换时的文件管理。

问题修复

说明

  • 修复多主集群(Limitless)中,在数据库代理的连接地址切换后删除读写节点,可能导致后台任务中断的问题。

  • 修复多主集群(Limitless)在高并发压力下,部分查询响应时间变慢的问题。

  • 修复开启弹性并行查询(Elastic Parallel Query)的并行解析功能后,在读写节点上创建分区表(CREATE PARTITION TABLE)耗时过长的问题。

  • 修复只读节点切换为主节点后,存量的Binlog Dump连接可能卡住,导致Binlog文件无法及时清理的问题。

  • 修复在只读节点上,当innodb_blob_slave_read_consistent参数开启时,查询特定长度的JSON字段可能返回The JSON binary value contains invalid data错误的问题。

  • 修复列存索引(IMCI)Hybrid Plan中,当AVG函数被优化器转换为SUM/COUNT时,查询意外回退到行存执行的问题,确保符合条件的查询能在列存上高效执行。

  • 修复旧版本集群在开启查询自适应聚合后,可能偶发崩溃的问题。

  • 修复在只读节点上读取大型JSON字段或被频繁部分更新的JSON字段时,部分场景下可能出现的数据不一致问题。

  • 修复在执行按时间点恢复(PITR)或库表恢复时,备可用区(Standby)节点在恢复(Recovery)阶段可能出现挂起(Hang)的问题。

  • 修复在开启弹性并行查询(Elastic Parallel Query)的并行解析功能后,按时间点恢复(PITR)任务可能偶发性失败的问题。

  • 修复创建函数索引(Functional Index)失败并回滚后,已释放的内存仍可能被继续使用,导致潜在的内存访问异常问题。

  • 修复包含递归公用表表达式(Recursive CTE)的查询无法在列存索引(IMCI)上执行的问题。

  • 修复弹性并行查询(Elastic Parallel Query)中,当多个子查询引用外部查询的同一字段但采用不同下推策略时,可能导致进程崩溃的问题。

  • 修复非BIGINT类型的整数列统计信息收集不准确,导致查询优化器未能生成最优执行计划的问题。

  • 修复列存索引(IMCI)NCI在插入LRU缓存失败时,未能触发自动扩容机制的问题。

  • 修复新注册的只读节点在切换为主节点后,执行DDL操作报告SDI(Serialized Dictionary Information)修改失败的问题。

  • 修复列存索引(IMCI)在使用ETL功能时不支持JSON_TABLE函数的问题,并优化了IMCI查询内存不足时的错误提示信息。

  • 修复对包含列存索引(IMCI)的表执行Online DDL时,默认的批量写入策略可能导致读写节点内存溢出(OOM)的问题。

  • 修复部分查询因内存使用量计算不准确,导致返回OOM Error并执行失败的问题。

  • 修复为无主键但包含唯一键(UNIQUE KEY)的表添加列存索引(IMCI)时,可能导致集群异常的问题。

  • 修复高写入压力场景下,当B-Tree索引进行结构调整时,只读节点可能短暂查询不到部分记录的问题。

  • 修复因全局变量初始化顺序不当,导致列存索引(IMCI)在一写多读架构中的从节点(Follower)文件操作被错误禁止的问题。

  • 修复在无初始化扩展开启的高写入压力场景下,高可用(HA)切换可能导致集群崩溃的问题。

8.0.1.0.39(2025.08.27)

问题修复

说明

  • 修复一个在事务回滚时极小概率发生的,可能导致二级索引损坏的purge过程的问题。

8.0.1.0.38(2025.07.31)

新增功能

说明

  • 新增Orca(兼容Redis协议)功能在8.0.1内核版本中的适配。

  • 新增自适应执行能力对索引条件下推(Index Condition Pushdown)场景的支持。此项更新使得数据库能够在运行时动态选择更优的执行计划,提升特定查询场景的性能。

  • 新增异步执行能力在Redo Log刷盘和锁等待场景下的支持。通过将这些阻塞操作异步化,减少了线程等待时间,从而显著提升数据库在高并发写入和竞争场景下的性能。

  • 新增列存索引(IMCI)JSON_ARRAYAGG()聚合函数的下推支持。此项更新使得将多行结果聚合为JSON数组的操作可以利用列存加速,大幅提升相关JSON查询的性能。

  • 新增列存索引(IMCI)对一种复杂查询模式的支持。现在,包含ROLLUP且投影列中带有聚合函数子查询的SQL语句,也可以下推至列存引擎执行,扩展了IMCI的加速范围。

性能优化

说明

  • 优化列存索引只读节点后台自动弹性线程池的调度逻辑,降低其在获取任务状态时产生的CPU消耗,提升集群整体资源利用率。

  • 优化列存索引只读节点的下线流程。通过对垃圾文件清理操作引入异步处理和流量控制,减少了节点下线对集群性能的冲击,使过程更平滑。

  • 优化列存索引(IMCI)对窗口函数的执行效率。通过合并查询中具有相同PARTITION BY定义的多个窗口函数,减少了重复计算,提升了复杂分析查询的性能。

  • 优化物理复制过程中Page Apply的效率。通过减少只读(RO)节点上因读取冷数据而产生的I/O等待,降低了物理复制延迟偶发性抖动的风险,提升了主备同步的稳定性。

问题修复

说明

  • 修复在使用列存索引(IMCI)Instant DDL操作期间,因释放索引时机不当而可能引发野指针访问,进而导致集群不稳定的问题。

  • 修复在多主集群(Limitless)中,只读(RO)节点热切换为读写(RW)节点后,对包含列存索引的表执行DML操作时可能触发RW节点崩溃的问题。

  • 修复列存索引(IMCI)Delta Store在处理Swap任务时,因任务大小控制不当,导致PAX页长度溢出或因空指针访问而引发集群崩溃的问题。

  • 修复多主集群(Limitless)中,主备节点进行高可用切换时可能导致集群崩溃的问题,提升了集群的稳定性。

  • 修复使用列存索引(IMCI)加速的查询中,当同时包含DISTINCTAVG聚合函数时,可能返回错误结果的问题。

  • 修复多主集群(Limitless)在进行高可用切换后,可能出现集群无法启动或数据无法持久化的问题,增强了数据可靠性与服务可用性。

  • 修复在开启imci_implicit_orderby_rollup参数后,部分符合条件的查询无法被正确分发至列存索引(IMCI)执行,导致查询性能未达预期的问题。

  • 修复列存索引(IMCI)Hybrid Plan在使用Index Join执行分区表查询时,偶发Assertion failed: false报错的问题。

  • 修复多主集群(Limitless)中,执行CREATE ... IF NOT EXISTS语句后,聚合节点的gtid_executed中可能出现GTID空洞,从而影响数据一致性的问题。

  • 修复列存索引(IMCI)Delta模块在序列化过程中,因未能正确识别已回滚的行,导致访问空指针并引发集群崩溃的问题。

  • 修复在使用表级数据清理(TTL)功能时,为分区表设置TTL后,因主数据字典(DD)信息未同步更新,导致TTL配置丢失的问题。

  • 修复在包含秒级加字段且行格式为REDUNDANT的表中,将NULL值更新为空字符串时可能引发集群崩溃的问题。

  • 修复在PREPARE STATEMENT模式下,部分查询语句无法被正确路由至列存索引(IMCI)执行的问题,确保了预处理语句也能获得列存加速。

  • 修复计划固化 (Statement Outline)功能因Token计算逻辑缺陷,导致其无法正确支持包含表别名、ORDER BYLIMIT子句的SQL语句的问题。

  • 修复表级数据清理(TTL)功能的两个稳定性问题:一是TTL清理数据时因死锁回滚可能导致的集群崩溃;二是TTL线程在关闭过程中因未及时释放事务对象而引发的集群崩溃。

  • 修复当JSON_VALID()函数的输入参数为VARCHAR类型时,列存索引(IMCI)与行存的计算结果可能不一致的问题,保证了数据处理的准确性。

  • 修复列存索引(IMCI)Hybrid Plan在使用Index Join执行带有Post FilterAnti Semi Join时,可能导致集群崩溃的问题。

  • 修复因窗口函数(WINDOW FUNCTION)创建的中间临时表在数据溢出并写入磁盘时,可能导致最终结果集不正确的问题。

  • 修复对分区表执行RENAME操作后,列存索引(IMCI)INFORMATION_SCHEMA表中关于表名的缓存未及时更新,导致元数据信息不一致的问题。

  • 修复在只读(RO)节点上读取JSON类型数据时,部分场景下可能错误地返回invalid json报错的问题。

  • 修复在特定版本后,对包含列存索引(IMCI)的表执行Online DDL操作可能导致数据不一致的回归问题。

8.0.1.0.37(2025.06.09

新增功能

说明

  • 新增数据清理(TTL)功能,支持设置过期时间,超过过期时间数据自动过期。

  • 新增窗口函数支持frame语句,目前支持当前Rows frame和默认的Range frame场景。

  • 新增支持以Online DDL方式修改高压缩引擎(X-Engine)的自增列值。

  • 新增Pruner统计指标,通过查询INFORMATION_SCHEMA.IMCI_SQL_PROFILING视图中获取TableScan算子的数据块剪枝(Pruning)情况。

  • 新增EXPLAIN DDL功能,该功能可帮助用户查询特定DDL语句的执行特征。

  • 新增参数adaptive_digest_length_multiplier,实现根据SQL文本长度动态调整Digest预分配内存大小的功能。

  • 新增列存索引(IMCI)Hybrid Plan功能的扩展,使其支持未显式定义主键的表。

性能优化

说明

问题修复

说明

  • 修复列存索引(IMCI)内部线程池在弹性缩容过程中产生的内存泄露的问题,有效避免Serverless集群在PCU(PolarDB Capacity Unit)动态调整时出现内存泄漏。

  • 修复列存索引(IMCI)中运行时关闭Hybrid Plan时可能导致崩溃的问题。

  • 修复并行解析模式下可能导致时间点还原操作无法保证幂等性的问题。

  • 修复库表恢复分区表包含instant add column并且分区数量大于等于10个,在恢复完成后访问可能出现的问题。

  • 修复列存索引构建期间增量物理日志回放计数统计错误的问题。

  • 修复INSTANT DDL提交后,基于老版本的列存索引信息更新任务触发断言的问题。

  • 修复Prepare Execute实现字符串类型使用character_set_clientCollation信息的问题。

  • 修复列存索引(IMCI)引擎在处理大规模变长字符串GROUP BY操作时可能引发的内存溢出(Out Of Memory)问题。

  • 修复自适应分流机制会将包含不支持的自定义函数的查询请求路由至列存引擎的问题。

  • 修复并行查询(PQ)和performance_schema功能时,高并发场景下可能导致集群崩溃的问题。

  • 修复添加不必要的唯一键(UK)索引事务锁导致的死锁问题。

  • 修复列存索引(IMCI)在加载NCI(Non-Clustered Index)期间执行DROP INDEX操作可能导致加载过程阻塞的问题。

  • 修复列存节点的快照保持功能中,原有的锁粒度较大可能导致长时间的锁等待,进而引发监控模块的偶发性卡顿问题。

  • 修复CTE(Common Table Expression)与Semi JoinDuplicateWeedout算法在使用BNL(Block Nested Loop)执行策略时可能导致进程崩溃的问题。

  • 修复Fast Import特性分区表和即时列(Instant Column)时存在的兼容性问题。

  • 修复列存索引(IMCI)混合物化Mixoutput读取timestamp类型数据未做时区转化的问题。

  • 修复使用imci_analyze_query进行列存索引(IMCI)查询性能分析时,偶发性计时不准确的问题。

  • 修复DDL操作后,列存节点偶发访问到DDL前缓存数据的问题。

  • 修复对存在虚拟列表执行ONLINE DDL时偶发的ROW LOG读写越界问题。

  • 修复列存索引(IMCI)多机共享架构下偶发的ImciFollower内存数据块堆积的问题。

  • 修复当GROUP BY子句中的列包含表达式时,WITH ROLLUP可能无法正确输出NULL值的问题。

8.0.1.0.35(2025.03.31

新增功能

说明

  • Serverless功能只读节点(RO)新增parse buf(解析日志内存块)无用内存回收功能,可降低部分内存使用率。

  • 新增在多主集群(Limitless)下支持Redo日志异步IORedo日志分区IO(Partition IO)功能。

  • 新增控制配置自适应执行行列自动分流的代价阈值。

  • 新增列存索引(IMCI)查询优先级调度功能,支持为列存查询指定优先级。

  • 新增一个新参数控制自适应行列分流的代价阈值。

性能优化

说明

  • 优化查询优化器对子查询的处理逻辑,显著提升列存索引(IMCI)在处理复杂INEXISTS子查询时的性能。

  • 优化列存索引(IMCI)中,Hash Groupby的实现机制,实现根据数据分布特征自适应选择分区策略与算法提升查询性能。

  • 优化高并发下使用max_execution_time参数时,数据库性能变差的问题。

问题修复

说明

  • 修复只读节点上访问空间索引可能获取到重复数据的问题。

  • 修复多主集群备节点在节点前切换数据库或对象访问点时可能会出现崩溃的问题。

  • 修复子查询含有Having关键字时并行查询结果可能出错的问题。

  • 修复在开启多版本引擎功能时,Redo负载比较低的场景下,只读节点(RO)上的读请求会变慢的问题。

  • 修复列存索引(IMCI)在处理带有ROLLUP的查询时,无法通过开关(imci_implicit_orderby_rollup)控制对查询结果进行排序的问题。

  • 修复多主集群有全局只读节点情况下,新增读写节点导致新节点启动失败的问题。

  • 修复Redo Cache功能在读取边缘Redo日志时可能读取到脏数据的问题。该问题会导致Redo日志的合法性检查失败,进而引发集群崩溃。

  • 修复当存储的数据块中所有的数据都相同时,查询有可能触发异常的问题。

  • 修复在BLOB优化写入过程中,由于意外崩溃导致无法执行IMPORT TABLESPACE操作的问题。

  • 修复列存索引(IMCI)SQL子查询时不支持LIMIT 1查询限制问题。

  • 修复库表恢复源表存在列存索引可能导致的任务中断的问题。

  • 修复列存索引(IMCI)Serverless集群在主节点规格较大时产生缩容问题。

  • 修复开启集群非阻塞DDL情况下,小概率执行Kill DDL对应的连接,语句无法正常退出问题。

  • 修复列存索引(IMCI)中开启全局强一致(高性能模式)后,查询偶发无法使用Hybrid Plan而导致查询报错的问题。

  • 修复列存索引(IMCI)执行SELECT DISTINCT查询时,存在non-full-groupby情形的兼容性问题。

  • 修复列存索引(IMCI)内存弹性的一系列问题提升内存利用效率以及集群的稳定性。

  • 修复在并行查询场景下,当带有排序的物化表被合并到外层查询时,可能导致集群崩溃的问题。

  • 修复列存节点在大事务执行过程中集群重启,崩溃恢复过程中有较低概率引发的列存索引数据冗余问题。

  • 修复库表恢复功能和文件空间扩展不填0功能的兼容问题。

  • 修复使用空间扩展不填0特性可能导致的库表恢复任务流程中断问题。

  • 修复创建在Virtual Column上的二级索引可能出现的索引损坏问题。

  • 修复只读节点执行Show Binlog Events报错文件不存在的问题。

8.0.1.0.34(2025.01.20

新增功能

说明

  • Delete语句新增支持Index Hint,即通过USE INDEXFORCE INDEXIGNORE INDEX语法指定特定索引的使用。

  • 新增加密函数SM4_encrypt()/SM4_decrypt()实现SM4算法的字段级访问加密。

  • 库表恢复新流程支持快速全量数据查询,查询性能不受恢复数据量大小影响。

  • 新增大宽表支持,扩展高压缩引擎(X-Engine)支持表的最大列数为10000列。

  • 新增参数ccl_check_with_super_user设置为OFF时,超级用户执行匹配CCL规则的语句时系统将生成警告信息(WARNING)。

  • Explain结果中新增显示被调用的Outline ID,同一语句调用多个Outline用逗号分割。

  • 新增物理复制并行解析Redo功能,提升物理复制性能。

  • 支持IN子查询多层嵌套的复杂查询在列存节点上使用列存加速执行。

性能优化

说明

  • 优化高性能全局一致性相关变量的设置从系统级别调整为Connection级别,支持在数据库代理中配置是否开启。

  • 优化SHOW VARIABLES时的全局互斥锁,提升高并发下的性能。

  • 优化列存索引(IMCI)在海量表场景下的启动时间过长。

  • 优化高压缩引擎(X-Engine)DDL场景自动打开X-Engine引擎的预提交功能。

问题修复

说明

  • 修复CREATE TABLE AS SELECT语句创建临时表时集群崩溃问题。

  • 修复算法选择中不必要的限制,目前部分关联子查询可以选择高效的HASH JOIN算法执行查询。

  • 修复开放Session级别binlog_rows_query_log_events权限,支持使用DMS执行SQL备份与回滚。

  • 修复只读节点gtid_purged变量没有与主节点同步的问题。

  • 修复高压缩引擎(X-Engine)DDL变更后,旧表空间回收泄露问题。

  • 修复Serverless集群RO节点内核支持0.25 PCU下限功能。RO(只读节点)和RW(读写节点)规格同步过程中导致RO节点缩容至0.25PCU。

  • 修复在DDL SCAN阶段无法获取MDL锁,仅显示错误信息而无法恢复列存索引数据的问题。

  • 在数据库表数量较多的情况下,修复多主集群可能导致读写节点出现不可服务的情况。

  • 修复列存索引(IMCI)查询中常量范围过滤(const between field1 and field2)场景下的索引选择错误问题。

  • 修复因未使用区分大小写的字符串比较函数而导致带name过滤条件的列存索引(IMCI)I_S(Information_Schema库下IMCI相关视图)视图查询结果不完整的问题。

  • 修复多主集群环境中执行TRUNCATERENAME表操作时可能导致的集群阻塞问题。

  • 修复多主集群场景列存索引Online DDL过程未适配LLSN(Logical Log Sequence Number)逻辑导致漏回放列存Redo日志的问题。

  • 修复通过列存索引(IMCI)读取JSONGIS大字段时可能出现偶发数据读取失败的问题。

  • 修复高压缩引擎(X-Engine)只读节点重启时非预期清理数据块元信息问题。

  • 修复列存索引(IMCI)分区表查询期间,执行explain for connection语句导致的崩溃问题。

  • 修复设置flagset类型变量如(optimizer_switch)时,存在重复项将不再报错的问题。

  • 修复连接数超过65536MDL锁系统可能出现异常的问题。

  • 修复多主集群在删除数据库时,可能导致整个集群卡死的问题。

  • 修复在多表更新语句中,社区低版本未能正确优化连接顺序的问题。

2024

8.0.1.0.33(2024.11.28

新增功能

说明

  • 多主集群支持局部只读节点,提供读压力分担和高可用切换功能。

  • 新增资源管理使用说明功能,实现UserDatabase级别进行CPU资源隔离。

  • Outline中新增支持分表场景的功能,单条Outline可以匹配所有具有相同模板的语句,适用于不同的分表。

  • 新增在执行过程中根据实际情况动态调整Order Index选取结果的能力。

  • 新增物理复制并行解析Redo功能,提升物理复制性能。

  • 支持通过修改COMMENT中的pack_shift来直接重建列存索引无需提前删除。

性能优化

说明

  • 优化SQL Trace,使得Call procedure时可以正确记录SQL及执行计划。

  • 优化列存索引只读节点的启动速度,支持列存引擎从列存快照位点独立启动。

  • 优化列存索引(IMCI)SQL执行时,保存分区信息带来的性能开销,提升分区表查询性能。

  • 优化逻辑预读的线程启动和销毁代码,简化内存检查逻辑。

问题修复

说明

  • 修复部分查询中,未充分利用唯一索引进行加速的问题。

  • 修复在使用SUBSTRING_INDEX表达式处理GROUP_CONCAT输出的空字符串时,且当分隔符长度大于1时,存在崩溃的可能性。

  • 修复CAST(REGEXP_SUBSTR(...)) AS DECIMAL语句导致进程崩溃的问题。

  • 修复REGEXP_SUBSTR可能返回NULL标记错误的问题。

  • 修复同时使用ALTER TABLE DROP语句删除多个全文索引(FTS)时可能导致元信息残留的问题。

  • 修复dlm_policies系统表的建表语句被记录在Binlog中,导致下游同步失败的问题。

  • 修复RO重新连接RW后可能出现RO持续不对外提供服务的问题。

  • 修复在列存索引(IMCI)中,当多个运行时过滤器下推到同一个表时状态设置错误的问题。

  • 修复DDL操作后,全文索引检索在只读节点上卡住的问题。

  • 修复在发生RO节点切换为RW节点后,执行INSERT ... ON DUPLICATE KEY UPDATE语句导致表Autoinc回退问题。

  • 修复在扩展VARCHAR列长度时,由于指定了DEFAULT值,导致的不必要的索引重建问题。

  • 修复列存索引(IMCI)Serverless集群中与内部内存弹性兼容性、扩缩容异常等问题。

  • 修复重建列存索引(IMCI)不支持Online重建导致列存索引可用性问题。

  • 修复自适应执行中对于特定类型的Query不能正确路由的问题。

  • 修复库表多写集群批量加列存索引功能,未完全适配DDL全局锁导致崩溃的问题。

  • 修复使用Temptable引擎时,包含GROUP BY查询在处理LOB字段时可能出现的崩溃问题。

  • 修复JSON_TABLE存在NULL Field场景下导致查询崩溃的问题。

  • 修复在开启列存索引(IMCI)的情形下,在子查询中使用JSON_ARRAY表达式时,可能导致结果不正确的问题。

  • 修复RO节点在HA(节点切换)阶段可能卡住的问题,避免HA时间过长。

  • 修复在修改PRIMARY KEY字段时,EQUAL_PACK_LENGTH类型DDL操作时导致NCI编码异常。

  • 修复UNIQUE CHECK IGNORE分区表带有REPLACELOAD DATA二次导入相同数据报错的问题。

  • 修复Digest CCL不支持PS(Prepared Statements)协议的问题。

  • 修复backward index scan能力开启与ICP等优化不兼容,新增polar_optimizer_switch开关进行控制。

  • 修复多主Buffer Pool Resize和事务访问块冲突问题,并优化多主Buffer Pool RDMAregisterunregister的性能。

  • 修复库表恢复新流程中,同一张表进行多轮恢复后导致流程中断的问题。

  • 修复在三可用区中,当入口数据的CRC计算值恰好为0时,可能导致recent_written引入脏数据的问题。

  • 修复RO No Sync频繁动态开关可能会丢失标记的问题。

  • 修复在添加自增列并在该列上创建逆序主键索引时导致B-tree损坏。

8.0.1.0.32(2024.10.14

问题修复

说明

  • 修复多主Buffer Pool Resize和事务访问块冲突问题,并优化多主Buffer Pool RDMAregisterunregister的性能。

8.0.1.0.31(2024.09.13

新增功能

说明

  • 新增变量ignore_use_force_index,开启后可忽略语句及Outline中的所有useforce index(但不影响Hint中的Index())。

  • 新增字符串转换函数convert_sys_to_filename()convert_filename_to_sys(),用于system_charset_info编码和my_charset_filename编码之间进行转换。

性能优化

说明

  • 优化当SQL trace类型设置为SLOW LOG时,SQL trace也将对DEMAND指定的语句生效。

  • 优化列存宽表的内存开销。

  • 优化列存节点在海量表场景下的启动时间过长。

  • 优化列存节点Serverless流程,新增列存节点支持索引就绪之后才被加入Proxy节点承担业务流量。

  • 优化列存索引(IMCI)大事务的性能和内存用量。

  • 优化了列存索引(IMCI)中物化HASH KEY的表达式的性能。

问题修复

说明

  • 修复列存索引(IMCI)处理一个表达式中包含多个带SUM的子查询时回退行存问题。

  • 修复并行DDL执行期间在某个时间窗口内修改innodb_bulk_load_page_grained_redo_enable参数导致部分pageRedo写错的问题。

  • 修复查询变换过程中表数量超过61导致崩溃的问题,该场景下不做查询改写。

  • 修复使用SPATICAI KEY时候,事务回滚需要悲观删除该索引可能导致陷入死循环,导致持锁过长的问题。

  • 修复在极少数情况下,列存执行过程中访问字符串类型数据时,因访问无效数据导致查询报错的问题。

  • 修复列存索引(IMCI)一写多读在开启Hybrid Plan时异步重建列索引循环等待的问题。

  • 修复包含LOB字段的表批量删除数据场景BLINK可能出现死锁的问题。

  • 列存索引(IMCI)i_s.imci_index_stats表新增PRUNED_PERCENT字段,表示每个列索引Data Skipping比例。

  • 修复开启Force recovery时,Undo初始化阶段出现集群异常崩溃的问题。

8.0.1.0.30(2024.08.16

新增功能

说明

  • SHOW PROCESSLIST语句新增显示会话是否在等待线程池调度。

  • 列存索引(IMCI)中新增基于贪心算法的join reorder策略。

  • OSS冷数据新增支持TDE功能。

  • 动态优化Buffer Pool缩容时锁冲突,减少锁持有时间。

  • 新增对Kerberos协议认证的支持。

  • 新增支持自定义比例对审计日志采样,仅记录一定比例的审计日志。

  • 新增支持通过原生存储过程(native procedure)为指定数据库中的所有表批量创建列存索引(IMCI)

性能优化

说明

  • 优化列存索引(IMCI)统计信息采样机制,提高了采样频率与采样数据的比例,优化了低基数列的采样逻辑,避免出现统计信息不准确导致查询未被充分优化的场景。

  • 优化Simulated-AIO异步性能阻塞模块。

  • 优化大数据量下UNION ALL的性能表现。

  • 优化列存索引(IMCI)Date类型字段的读取性能。

  • 优化列存索引(IMCI)大事务回放性能。

问题修复

说明

  • 修复Proxy高级事务拆分与Fast Query Cache之间的冲突影响结果集的问题。

  • 修复GROUP BY可能导致临时表报错table is full的问题。

  • 修复列存索引(IMCI)index join使用常量作为JOIN条件时可能触发结果不稳定的问题。

  • 修复列存索引(IMCI)Join Elimination功能存在的兼容性问题。

  • 修复有通配符的情况下,JSON_LENGTH返回结果错误问题。

  • 修复带有全文索引的表上修改COMMENT添加列存索引无法使用异步DDL的问题。

  • 修复将表中的数据全部删除之后,表中无数据时,下次写入操作会让Autoinc值重新从1开始的问题。

  • 修复开启innodb_polar_log_rdma_transfer时,移除RO节点可能导致监控连接阻塞一段时间的问题。

  • 修复分区表在HA后出现Autoinc回退问题。

  • 修复InnoDB全文索引在多主集群下导致集群崩溃的问题。

  • 修复多主集群下访问统计信息表可能会导致集群奔溃的问题。

  • 修复列存索引(IMCI)JOIN条件包含类型转换时,优化器对选择率估计偏差较大的问题。

    修复列存索引(IMCI)中因为对JOIN的输出结果基数估计偏大导致无法正确选择Hybrid Plan

  • 修复RO节点在Buffer Pool非常满时,用户线程等待Free Page过久问题。

  • 修复当查询拥有过多UNION ALL时,查询在列存索引(IMCI)执行时可能报告内存不足的问题。

  • 修复desc 语句不能正确调用outline的问题。

  • 修复database中含有几万张表,drop database失败问题。

  • 修复合并视图过程中无用的子查询无法删除的问题。