计算节点发布说明

本文介绍PolarDB-X实例版本的发布说明。

发布日期:2024-12-06

产品版本:V2.4.0

组件版本:5.4.19

类别

说明

新增&优化

新增支持并行SortWindow执行优化。

新增支持INFORMATION_SCHEMA.INNODB_SYS_TABLESPACES视图。

优化DDL MPP调度器在多个节点上对Task的分配均衡性。

优化列存索引计算路由分区时的性能。

优化DRDS模式数据库清理元数据过程,以避免发生死锁。

优化SELECT polardb_version();语句的结果展示。

优化列存引擎删除元数据的流程,以减轻GMS资源消耗。

优化分区表执行添加分区时的逻辑。

修复

修复SHOW DBSTATUSSHOW TABLEINFOREBALANCE语句查询存储引擎为MySQL 8.0的表统计信息非实时的问题。

修复对不含有GSI/CCI的表执行TRUNCATE/DROP分区操作时,因表组中存在含有GSI/CCI的表,从而导致TRUNCATE/DROP分区操作执行失败的问题。

修复Baseline在删除过程中,因同时有写入Baseline的请求而导致Baseline删除失败的问题。

修复关于HLL(HyperLogLog,一种概率算法的名称)保留字同名列采集异常的问题。

修复无锁列类型变更导致全局聚簇索引表丢失部分Local Index问题。

修复统计信息直方图反复序列化时会导致空间占用膨胀的问题。

修复因表结构发生变更导致Baseline Hint Bind失效的问题。

修复外键表创建无名全文索引失败的问题。

修复对于分片较多的逻辑表执行物理DDL时元数据读取错误的问题。

修复向量化IN字符串列时,其中存在NULL值导致执行失败的问题。

修复物理复制的过程中Follower拷贝数库数据文件快照时,连接泄露的问题。

发布日期:2024-11-22

产品版本:V2.5.0

组件版本:5.4.20

类别

说明

新增&优化

新增支持以存储节点并行的方式收集库表的HLL(HyperLogLog,一种概率算法的名称)相关统计信息。

新增支持通过DMS进行无锁变更。具体操作,请参见通过DMS连接到数据库

列存索引新增支持SEMI HASH JOIN广播左表。

无锁列类型变更新增支持OPTIMIZE TABLE操作。

优化优化器的常量推导和JOIN下推逻辑。

优化对底层存储节点进行运维操作时,业务流量闪断、抖动等问题。

优化DRDS模式的数据库清理元数据过程,避免死锁。

优化SELECT polardb_version()语句的结果展示。

优化列存引擎删除元数据的流程,以减轻GMS资源消耗。

优化列存索引计算路由分区时的性能。

优化分片裁剪时列存索引的执行计划。

优化分区表执行添加分区时的执行逻辑。

修复

修复SHOW DB STATUSSHOW TABLE INFOREBALANCE语句查询存储引擎为MySQL 8.0的表统计信息非实时的问题。

修复在源库的COLLATE属性为空串时,执行CREATE DATABASE LIKE语句系统报错的问题。

修复SHOW DDL语句展示数据回填进度不准确的问题。

修复关闭ENABLE_EXPAND_DISTINCTAGG后,列存索引distinct agg结果可能错误的问题。

修复关于HLL(HyperLogLog,一种概率算法的名称)的定时任务无法正常发起的问题。

修复携带localtity标记的表在列存只读实例上执行SHOW CREATE TABLE报错问题。

修复外键表创建无名全文索引失败的问题。

修复物理复制的过程中Follower拷贝数据文件快照时,连接泄露的问题。

修复执行ORDER BY ASC语句时使用RangeScan,导致排序不符合预期的问题。

修复向量化IN字符串列时,其中存在NULL值导致执行失败的问题。

修复读取具有大规模数据的逻辑表元数据时,系统报错的问题。

修复Direct HINT未能正确替换物理表名的问题。

修复在分区迁移期间进行查询操作,有概率出现invalid group or physical table names报错的问题。

修复执行前缀分区列的等值查询时,因其查询值出现截断,导致路由计算出现非法报错的问题。

发布日期:2024-11-04

产品版本:V2.4.0

组件版本:5.4.19

类别

说明

新增&优化

包含列存索引的表新增支持TRUNCATE TABLE操作。具体信息,请参见列存索引DDL语句限制

扩缩容期间新增支持自动识别未包含GSI的分区表,并对UPSERT语句下发的查询按照主表进行分区裁剪。更多信息,请参见全局二级索引(GSI)

优化列存只读实例删除元数据的流程,以减轻元数据中心(GMS)资源消耗。

优化UPDATE ORDER BY LIMIT语句执行时扫描物理分区的顺序,以减少扫描的分区数量。

修复

修复在ALTER TABLE MODIFY语句的执行过程中,如果连接中断,回滚失败的问题。

修复在源库的COLLATE属性为空串时,执行CREATE DATABASE LIKE语句系统报错的问题。

修复迭代子查询完成后,临时表内存不释放的问题。

修复FORCE INDEX不支持指定列存归档表的问题。更多信息,请参见FORCE INDEX

修复指定分表的HINT,在部分含有IN子句的查询中不生效的问题。更多信息,请参见HINT

修复执行ORDER BY ASC语句并使用RangeScan,导致排序不符合预期的问题。

修复在分区迁移过程中,进行查询操作时,有概率出现invalid group or physical table names报错的问题。

修复读取具有大规模数据逻辑表的元数据时,系统报错的问题。

在关联匹配结果集很多的情况下,修复BKAJoin和SortMergeJoin的算子组合会导致结果集输出不完整的问题。

修复删库操作与扩缩容同时出现时有概率出现死锁的问题。

修复ProjectWindowTransposeRule导致Window查询报错的问题。

修复Direct HINT未能正确替换物理表名的问题。

修复执行前缀分区列的等值查询时,因其查询值出现截断,导致路由计算出现非法报错的问题。

修复新建表时全文索引指定的PARSER丢失的问题。

修复ProjectToWindowRule导致优化器报错的问题。

修复SemiJoinJoinTransposeRule导致执行结果错误的问题。

修复DECIMAL主键表,因为全局索引选择,导致SQL执行失败的问题。

修复BKAJoin算子在执行时,因类型不一致,导致执行失败的问题。

修复关于HLL(HyperLogLog,一种概率算法的名称)的定时任务无法正常发起的问题。

修复子查询执行计划中计算Selectivity时报错,导致查询失败的问题。

修复临时表落盘后,Spill计数器未归零的问题。

修复ProjectWindowTransposeRule导致空指针的问题。

发布日期:2024-10-24

产品版本:V2.5.0

组件版本:5.4.20

列存索引相关

类别

说明

新增&优化

包含列存索引的表新增支持TRUNCATE TABLE操作。具体信息,请参见列存索引DDL语句限制

列存索引新增支持按排序键降序排序。

列存索引新增支持重命名。

ANALYZE TABLE语句新增支持默认使用列存索引。

含有列存索引的单表查询语句新增支持自动路由到只读实例的功能。

带有列存索引的主表新增支持DDL操作(该功能支持手动开关,默认开启)。

列存索引裁剪功能中SortKey新增支持字符类型。

主实例新增支持执行列存索引相关DDL语句(该功能支持手动开关,默认开启)。

关闭列存只读实例时新增支持自动清理列存Plan Cache。

列存只读实例新增支持SPM(SQL Plan Management, SQL执行计划管理)。

主实例上的列存查询新增支持自动调度到列存只读实例上执行。

列存只读实例新增支持Plan Cache(执行计划缓存)。

优化列存索引的选择逻辑(包含Apply算子的SQL不再路由至列存节点)。

优化列存CBO优化逻辑,提供超时机制。

优化使用列存索引查询时,NOT IN表达式的性能。

其他

类别

说明

新增&优化

新增支持以并行的方式收集库表的统计信息。更多信息,请参见统计信息自动采集策略

扩缩容期间新增支持自动识别不包含GSI的分区表,并对UPSERT语句下发的查询按照主表进行分区裁剪。更多信息,请参见全局二级索引(GSI)

新增扩缩容和GSI构建MPP执行对DDL控制指令的适配。

构建GSI时新增支持按照全局有序的主键范围并发回填,提升GSI构建性能。

SPM(SQL Plan Management,SQL执行计划管理)新增支持绑定存储节点的HINT。

新增支持SQL语句有无分号结尾都能复用执行计划。

单表下推时的JOIN ON条件新增支持子查询的功能。

引擎版本MySQL 8.0新增支持对JSON类型的字段创建函数索引。

新增自动为类型不匹配的参数添加或移除引号功能。

优化创建数据库时数据库名称校验逻辑,以避免使用内置数据库名。

优化SPM(SQL Plan Management, SQL执行计划管理)绑定的列存计划选择,以不受全局列存路由开关影响。

优化对逻辑Backfill和物理Backfill的资源限制和调度效率。

优化UPDATE ORDER BY LIMIT语句执行时扫描物理分区的顺序,以减少扫描的分区数量。

优化对底层存储节点进行运维操作时,应用APP的业务连续性。

优化执行BKA Join时的内存占用。

优化元数据锁(Metadata Lock,MDL)等待检测时的性能开销。

优化HLL(HyperLogLog,一种概率算法的名称)的采集逻辑,以避免扫描唯一键。

优化DELETE PARTITION FORCE INDEX语句的执行性能。

优化Metric View,以显示Metric的信息。 

优化SHOW DDL语句对查看复杂DDL的性能。更多信息,请参见SHOW DDL

优化负载类型判定逻辑,将列存查询负载类型默认配置为AP类型。更多信息,请参见混合负载HTAP的实践和优化

优化统计信息中FEEDBACK任务的执行策略。

优化聚合(AGG)函数的执行逻辑,在行存储场景下,默认采用下推聚合,而在列存储场景下,默认采用两阶段聚合。

优化热点值的索引选择逻辑。

优化扩缩容过程逻辑,回滚的时候检验源表是否存在。

优化DN节点的引擎版本为8.0时的分布式死锁检测逻辑。

优化扩缩容DDL Task的粒度设置,以提升扩缩容的调度效率。

优化高可用性(High Availability, HA)系统的探活间隔及其超时参数,以减少HA系统的恢复时间。

修复

修复迭代子查询完成后,临时表内存不释放的问题。

修复科学计数法类型被错误识别为CHAR的问题。

修复FORCE INDEX不支持指定列存归档表的问题。更多信息,请参见FORCE INDEX

修复在ALTER TABLE MODIFY语句的执行过程中,如果连接中断,回滚失败的问题。

修复统计信息中单值频率在直方图中估算为0的问题。

修复DRDS模式数据库,开启表回收站功能后,对同一个表多次执行TRUNCATE操作,可能导致元数据错误的问题。

修复新建实例的普通权限账号执行SET GLOBAL语句,会直接报错而不是返回Warning的问题。

修复对列类型为无锁时,变更校验报错的问题。

修复无锁变更列的类型时,系统会禁止DML下推标记残留的问题。

修复DN节点的引擎版本为8.0时,表information_schema.tables中的数据不能实时更新的问题。

修复因JOIN条件消除,导致JOIN无法下推的问题。

修复SQL语句中WHERE子句的左值仅支持范围在[-263,263-1]内的整数的问题。

修复在关联匹配结果集很多的情况下,BKAJoin+SortMergeJoin的算子组合会导致结果集输出不完整的问题。

修复BKAJoin算子在执行时,因类型不一致,导致执行失败的问题。

修复SemiJoinJoinTransposeRule导致执行结果错误的问题。

修复删库操作与扩缩容同时出现时有概率出现死锁的问题。

修复ProjectToWindowRule导致优化器报错的问题。

修复ProjectWindowTransposeRule导致Window查询报错的问题。

修复使用DECIMAL主键表的全局索引选择,导致SQL执行失败的问题。

修复子查询执行计划中计算Selectivity时报错,导致查询失败的问题。

修复新建表时全文索引指定的PARSER丢失的问题。

修复当时间列中有大量NULL值时,基数预测失效的问题。

修复临时表落盘后,Spill计数器未归零的问题。

修复ProjectWindowTransposeRule导致空指针的问题。

修复RECYCLEBIN模式下执行TRUNCATE TABLE,导致隐藏主键不可用问题。

修复列存优化器Sort操作的结果丢失,导致结果不符合预期的问题。

修复执行CREATE TABLE WITH TTL语句时,通过CDC透传到下游Replias后,TTL定义会丢失的问题。

修复SQL语句含有IN子句中只有一个参数,系统在预处理时错误匹配到多个IN参数对应的执行计划的问题。

修复SQL解析器对含有隐式表组的ALTER语句解析失败,以及打标语句不能被正确处理的问题。

修复SAMPLE RATE用科学计数法表达,导致存储节点SAMPLE HINT不生效的问题。

修复SHOW DDL STATUS在并发回填时,速率显示错误的问题。

修复对单表执行FORCE INDEX CCI不生效的问题。

修复在生成SELECTION时,同一个Chunk内含有NULL值,导致PARTIAL_SELECTION处理不正确并引起结果错误的问题。

修复在某些场景下因过滤条件错误透传至外连接(OUTER JOIN)而导致结果输出不正确的问题。

修复BKA Join优化技术作用在包含Null-Safe等于操作符的语句时,分区键裁剪后查询列错乱从而导致结果不正确的问题。

修复子分区变更过程中INSERT IGNORE执行会有概率出现空指针报错的问题。

修复表拓扑变更时,NDV采集会误删列统计信息的问题。

修复列存只读实例部分SHOW语句(SHOW INDEX FROMSHOW TABLE STATUSDESC TABLE/SHOW COLUMNS FROMSHOW COLLATIONSHOW CHARACTER SETSHOW PRIVILEGES)的兼容性问题。

修复CDC在构建全量Schema快照时,构建快照的线程发生阻塞的问题。

修复对于含有保留字的索引,执行自动FORCE INDEX未加反引号`导致SQL报错的问题。

修复在执行ALTER TABLE修改列声明时,如果新的列名大小写与原有列名不一致,导致DDL一直处于执行状态无法完成的问题。

修复TTL表在动态添加CCI分区时生成的CDC SQL含有随机后缀,导致CDC下游同步异常的问题。

修复对无分组的聚合结果进行过滤时,结果可能不符合预期的问题。

修复在PREPARE模式下查询INFORMATION_SCHEMA.STATISTICS表报错的问题。

修复执行计划在反序列化过程中丢失列存属性DISTRIBUTION的问题。

修复在列存实例执行含有LIMIT的SQL时,结果有概率不符合预期的问题。

修复Baseline(基线)不支持UNION语句的问题。

修复列存查询DATE类型字段与CHAR类型常量比较时,由于精度丢失导致的边界值判断错误的问题

修复对跨库单表执行INSERT SELECT语句时,DirectPlan下推不符合预期的问题。

修复使用聚合(AGG)类函数时,别名大小写不同,导致模板ID不一致的问题。

修复因特殊字符,导致统计信息直方图序列化失败的问题。

修复SPM(SQL Plan Management, SQL执行计划管理)执行计划在MPP(Massively Parallel Processing,大规模并行处理)模式下并发度计算不符合预期的问题。

修复CREATE DATABASE语句可以创建mysqlperformance_schema类型数据库的问题。

修复在外键约束下,更新子表时列不匹配导致的问题。

修复对名称长度超过64个字符的SEQUENCE进行变更操作失败的问题。

修复AES_DECRYPT()函数在高并发环境下存在的安全问题。

修复在无锁情况下变更列的类型并添加NOT NULL约束时,可能导致校验不通过的问题。

修复执行含有聚合函数联合子查询的SQL,查询报错的问题。

修复在INSERT SELECT语句包含聚合(AGG)函数时,列匹配失败的问题。

修复谓词条件下推到子查询内部中,JOIN类型推导出错的问题。

修复STR_TO_DATE()函数第二个参数为'%Y-%m-%d %T'时,结果不符合预期的问题。

修复对BLOB字段执行TO_BASE64()函数后结果编码不正确的问题。

修复使用TIMESTAMP()函数插入数据时路由和数值变化的问题。

修复对包含字符串类型列的索引执行IN(NULL)查询时报错的问题。

发布日期:2024-09-27

产品版本:V2.4.0

组件版本:5.4.19

类别

说明

新增&优化

扩缩容期间新增支持自动识别未包含GSI的分区表,并对UPSERT语句下发的查询按照主表进行分区裁剪。更多信息,请参见全局二级索引(GSI)

关闭列存节点时新增支持自动清理列存Plan Cache。

含有列存索引的表新增支持TRUNCATE TABLE操作。具体信息,请参见列存索引DDL语句限制

优化构建GSI的性能(构建时按照全局有序的主键范围并发回填)。更多信息,请参见全局二级索引(GSI)

优化SPM(SQL Plan Management, SQL执行计划管理)绑定的列存计划选择不再受全局列存路由开关影响。

优化Metric View,以显示系统的Metric的信息。

优化对逻辑Backfill和物理Backfill的资源限制和调度效率。

优化HLL(HyperLogLog,一种概率算法的名称)的采集逻辑,以避免扫描唯一键。

优化MDL锁等待检测的性能开销。更多信息,请参见MDL优化(元数据锁)

优化列存索引的选择逻辑(包含Apply算子的SQL不再路由至列存节点)。更多信息,请参见行列路由机制

优化负载类型判定逻辑,将列存查询负载类型默认配置为AP类型。更多信息,请参见混合负载HTAP

优化SHOW DDL语句对查看复杂DDL的性能。

优化高可用性(High Availability, HA)系统的探活间隔及其超时参数,以减少HA系统的恢复时间。

优化扩缩容DDL Task的粒度设置,以提升扩缩容的调度效率。

修复

修复DRDS模式数据库,开启表回收站功能后,对同一个表多次执行TRUNCATE操作,可能导致元数据错误的问题。更多信息,请参见AUTO模式数据库与DRDS模式数据库

修复新建实例的普通权限账号执行SET GLOBAL语句,会直接报错而不是返回Warning的问题。

修复统计信息中单值频率在直方图中估算为0的问题。

修复执行CREATE TABLE WITH TTL语句时,通过CDC透传到下游Replias后,TTL定义会丢失的问题。更多信息,请参见TTL

修复列存优化器Sort操作的结果丢失,导致结果不符合预期的问题。

修复RECYCLEBIN模式下执行TRUNCATE,导致隐藏主键不可用问题。

修复SAMPLE RATE用科学计数法表达,导致存储节点SAMPLE HINT不生效的问题。

修复SQL语句含有IN子句且其中只有一个参数时,系统在预处理阶段错误匹配到多个IN参数对应的执行计划的问题。

修复SQL解析器对含有隐式表组的ALTER语句解析失败,以及打标语句不能被正确处理的问题。更多信息,请参见表组类型

修复对单表(没有做拆分的表)执行FORCE INDEX CCI不生效的问题。更多信息,请参见FORCE INDEX

修复SHOW DDL STATUS在并发回填时,速率显示错误的问题。

发布日期:2024-09-13

产品版本:V2.4.0

组件版本:5.4.19

类别

说明

新增&优化

主实例新增支持执行列存索引相关DDL语句(该功能可配置开关,默认开启)。更多信息,请参见配置列存索引开关

SPM(SQL Plan Management, SQL执行计划管理)新增支持绑定DN HINT。

列存索引新增支持分区分裂。

修复

修复统计信息中Feedback信息重复的问题。

修复统计信息中单值频率在直方图中估算为0的问题。

修复使用新建实例的新建普通权限账号执行SET GLOBAL语句会直接报错而不是返回Warning的问题。

修复对列类型为无锁时,变更校验报错的问题。

修复在生成Selection时,同一个Chunk内含有NULL值,导致PARTIAL_SELECTION处理不正确继而引起结果错误的问题。

修复对单表执行FORCE INDEX CCI不生效的问题。

修复列存只读实例部分SHOW语句(SHOW INDEX FROM、SHOW TABLE STATUS、DESC TABLE/SHOW COLUMNS FROM、SHOW COLLATION、SHOW CHARACTER SET、SHOW PRIVILEGES)的兼容性问题 。

修复在某些场景下因过滤条件错误透传至外连接(OUTER JOIN)而导致结果输出不正确的问题。

修复子分区变更过程中,执行INSERT IGNORE会有概率出现空指针报错的问题。

修复表拓扑变更时,NDV(唯一值个数)采集会误删列统计信息的问题。

修复CDC在构建全量Schema快照时,构建快照的线程发生Block的问题。

修复对于含有保留关键字的索引,执行自动FORCE INDEX未加反引号(`)导致SQL报错的问题。

修复对包含Null-Safe等于操作符(<=>)的语句,使用Lookup Join (BKAJoin)优化技术时,分区键裁剪后查询列错乱从而导致结果不正确的问题。更多信息,请参见Lookup Join (BKAJoin)

发布日期:2024-08-28

产品版本:V2.4.0

组件版本:5.4.19

类别

说明

新增

新增SQL结尾有无分号都支持复用执行计划。

新增含有列存索引的单表查询语句支持自动路由到只读实例的功能。

新增支持创建数据库时禁用MySQL等内置数据库名。

新增单表下推时JOIN ON条件中支持子查询的功能。

新增支持默认可以对含有列存索引的主表进行DDL操作的功能。

新增ANALYZE TABLE默认支持使用列存索引。

引擎版本为MySQL 8.0时,新增支持对JSON类型的字段创建函数索引。

修复

修复无锁变更列的类型时,系统会禁止DML下推标记残留的问题。

修复在执行ALTER TABLE修改列名时,如果新的列名大小写与原有列名不一致,导致DDL一直处于执行状态无法完成的问题。

修复DN节点的引擎版本为MySQL 8.0时,INFORMATION_SCHEMA.TABLE中的数据不能实时更新的问题。

修复在PREPARE模式下查询INFORMATION_SCHEMA.STATISTICS表报错的问题。

修复创建列存索引表时因为分区变更触发默认表组被重新分配,导致列存索引表创建失败的问题。

修复对无分组的聚合结果进行过滤时,结果可能不符合预期的问题。

修复当TTL表中时间类型的列值为零或空,导致列存归档表创建失败的问题。

修复SQL解析器对含有隐式表组的ALTER语句解析失败,以及打标语句不能被正确处理的问题。

修复TTL表在动态添加CCI分区时生成的CDC SQL含有随机后缀,导致CDC下游同步异常的问题。

修复跨库单表INSERT SELECT时,DirectPlan下推不符合预期的问题。

发布日期:2024-08-18

产品版本:V2.4.0

组件版本:5.4.19

类别

说明

修复

修复无法通过Navicat创建和查询数据库用户的问题。

修复通过DataGrip连接数据库时持续不断提示Warning信息的问题。

修复无法通过DBeaver查询数据库视图的问题。

发布日期:2024-08-16

组件版本:5.4.18

组件小版本:17236025

类别

说明

优化

优化扩缩容过程并在回滚的时候检验源表是否存在。

修复

修复无锁变更列的类型时,系统会禁止DML下推标记残留的问题。

修复带有NODE HINT的SQL模板ID与其他SQL模板ID相同的问题。

修复在无锁变更列的类型添加NOT NULL约束时,可能会导致校验不通过的问题。

修复对无分组的聚合结果进行过滤时,结果可能不符合预期的问题。

修复特殊字符会导致统计信息直方图序列化失败的问题。

修复在PREPARE模式下查询INFORMATION_SCHEMA.STATISTICS表报错的问题。

修复在执行ALTER TABLE修改列声明时,如果新的列名大小写与原有列名不一致,会导致DDL一直处于执行状态无法完成的问题。

修复STR_TO_DATE('2020-08-01 00:00:00', '%Y-%m-%d %T')结果不符合预期的问题.

发布日期:2024-08-01

产品版本:V2.4.0

组件版本:5.4.19

类别

说明

新增&优化

新增列存只读实例支持SPM(SQL Plan Management, SQL执行计划管理)。

新增支持自动给类型不匹配的参数值添加或移除引号。

列存只读实例新增支持索引裁剪功能中的SortKey为字符类型。

新增支持将主实例上的列存查询自动调度到列存只读实例上执行。

优化聚合(AGG)类函数的执行逻辑:在行存场景下,默认采用下推聚合;在列存场景下,默认采用两阶段聚合。

优化热点值的索引选择逻辑。

优化列存只读实例查询中NOT IN表达式的性能。

修复

修复SQL语句中WHERE子句的左值仅支持范围在[-263,263-1]内的整数的问题。

修复Baseline(基线)不支持union语句的问题。

修复SPM(SQL Plan Management,SQL执行计划管理)执行计划在MPP(Massively Parallel Processing,大规模并行处理)模式下并发度计算不符合预期的问题。

修复AES_DECRYPT函数在高并发环境下存在的安全问题。

修复特殊字符导致统计信息直方图序列化失败的问题。

修复执行计划在反序列化过程中丢失列存属性distribution的问题。

修复对名称长度超过64个字符的sequence进行变更操作会失败的问题。

修复使用聚合(AGG)类函数时,别名大小写不同,导致模板ID不一致的问题。

修复CREATE DATABASE语句可以创建mysql、performance_schema类型数据库的问题。

修复在列存只读实例执行含有LIMIT的SQL时,结果有概率不符合预期的问题。

修复对有外键约束的子表进行更新操作时,外键的列不匹配的问题。

修复执行含有聚合函数联合子查询的SQL时,查询报错的问题。

修复在无锁情况下变更列的类型并添加NOT NULL约束时,可能导致校验不通过的问题。

修复谓词条件下推到子查询内部时,Join类型推导失败的问题。

修复包含聚合(AGG)函数的INSERT SELECT语句,列匹配失败的问题。

修改

修改控制主表包含列存索引能否被进行DDL操作开关的默认值为开启。

发布日期:2024-07-18

产品版本:V2.4.0

组件版本:5.4.19

类别

说明

修复

修复因缓存池最大内存配置过大而导致内存溢出的问题。

发布日期:2024-07-10

产品版本:V2.4.0

组件版本:5.4.19

类别

说明

新增&优化

列存只读实例新增支持Plan Cache(执行计划缓存)。

新增支持列存查询可以调度到列存只读实例上执行。

优化包含JOIN关键字SQL的性能。

优化包含ORDER BY LIMIT子句的UPDATE语句在分区表上执行的性能。

优化事务相关变量的展示策略。

优化分布式死锁检测机制。

修复

修复对包含字符串类型列的索引执行IN(NULL)查询时报错的问题。

修复对BLOB字段执行TO_BASE64()函数后结果编码不正确的问题。

修复SQL经过JoinAggToJoinAggSemiJoinRule优化后导致结果不正确的问题。

发布日期:2024-07-02

产品版本:V2.3.0

组件版本:5.4.18

组件小版本:17198050

类别

说明

新增&优化

新增SQL语句末尾带分号或不带分号都可以复用执行计划的功能。

新增单表下推时JOIN ON条件中支持子查询的功能。

优化数据极端倾斜情况下的基数估计。

优化扩缩容过程并在回滚的时候检验源表是否存在。

修复

修复SAMPLE RATE用科学计数法的方式使用时导致SAMPLE HINT不生效的问题。

修复使用TIMESTAMP()函数插入数据时路由和数值变化的问题。

修复SQL语句中WHERE子句的左值仅支持范围在[-263,263-1]内的整数的问题。

修复DDL非预期回滚的问题。

发布日期:2024-06-13

产品版本:V2.3.0

组件版本:5.4.18

组件小版本:17181576

类别

说明

新增&优化

新增部分场景下自动force index的功能。

新增支持float和double数据类型的精度指定。

列存只读和只读实例新增支持限流操作。

优化Information_schema.tables的数据显示。

优化ALTER TABLE相关物理执行的DDL并发限制。

增大DN节点wait和concurrent的限流阈值。

修复

修复下推表数量超过9个时,IN裁剪耗时长的问题。

修复使用无锁列类型变更将字符串类型转为非字符串类型时,有概率失败的问题。

修复baseline delete指令在部分节点生效,部分节点没有生效的问题。

修复使用无锁列类型变更给没有sequence的表的字段添加auto_incement后,导致该表插入数据报错的问题。

修复隔离级别字符串因为大小写和下划线问题,设置后可能解码出错的问题。

修复baseline add/fix指令对于携带IN参数的执行计划代价计算不准确的问题。

发布日期:2024-05-27

产品版本:V2.4.0

组件版本:5.4.19

类别

说明

新增&优化

新增支持使用AS OF TSO语法读取快照数据。

优化Distinct Agg的查询计划。

修复

修复DROP DATABASE失败后,重新创建数据库时遗漏掉CDC打标动作导致报错的问题。

发布日期:2024-05-16

产品版本:V2.3.0

组件版本:5.4.18

组件小版本:17157586

类别

说明

新增&优化

新增支持INSERT INTO TABLENAME() VALUES() 语法。

新增支持在UPDATE SET子句中使用无表UNION的语法。

优化逻辑REPLACE下推判断,支持RC隔离级别下的部分场景下推REPLACE语句。

禁止在INFORMATION_SCHEMA库中执行不指定SCHEMA的 DDL。

修复

修复统计信息单表sample hint不生效的问题。

修复OMC 2.0可能会导致UGSI存量数据路由错误的问题。

修复在处理自引用表索引及字符集检测时,导致外键约束添加失败的问题。

修复LIMIT x, y当数值过大时解析报错的问题。

发布日期:2024-05-10

产品版本:V2.3.0

组件版本:5.4.18

组件小版本:17152226

类别

说明

新增&优化

新增物理复制支持加密表。

新增支持扩缩容运维窗。

创建表时新增支持指定KEY_BLOCK_SIZE等与表压缩功能相关的参数配置。

优化创建GSI以及表分区键变更的执行速度。

修复

修复开启物理复制后迁移ugsi报错的问题。

修复对单表和广播表进行无锁列变更时会执行失败的问题。

发布日期:2024-05-06

产品版本:V2.3.0

组件版本:5.4.18

组件小版本:17142802

类别

说明

新增&优化

新增支持alter table兼容MySQL的多语句修改。

优化索引选择的逻辑,对于仅涉及一张表的DML,拒绝使用无法走局部索引的GSI。

优化掉冗余的group by uk。

优化在线列类型变更执行速度以及计算节点CPU占用 情况。

优化IN Values场景下IN表达式统计信息估算的性能。

修复

Parser关闭解析全局Binlog Query Event中注释的私有DDL,防止下游apply DDL出错。

修复执行DDL时,MDL锁清理存在判断失误导致事务排空失效,引入的数据不一致问题。

修复扩缩容过程中,insert ignore可能出现Duplicate entry报错的问题。

修复MPP模式下结果集没有正确关闭导致后端连接卡死的问题。

修复inspect index在个别场景下给出的建议错误的问题。

修复inner join-outer join reorder可能导致结果不正确的问题。

修复auto_increment列存在值为0的记录时,DDL可能非预期失败的问题。

修复标准版升企业版时,库名以s或S结尾导致导入元数据失败的问题。

修复alter table remove partitioning同时指定option时DDL执行报错的问题。

修复低资源场景下存储节点端口资源互换导致私有协议实例级连接池误用的问题。

在热点更新场景禁用XA_TSO事务策略,避免开启后升级实例可能会遇到事务类型不兼容的问题。

发布日期:2024-04-26

产品版本:V2.4.0

组件版本:5.4.19

类别

说明

修复

修复更改列的Default表达式后列默认值类型不正确的问题。

修复MySQL 8.0模式下,unsigned类型分区键对于字符串类型的负整数(例如 '-184467440737095516150')路由计算不正确的问题。

发布日期:2024-04-16

产品版本:V2.4.0

组件版本:5.4.19

类别

说明

新增&优化

新增analyze table支持使用列存表,加速收集统计信息。

新增按实例隔离执行计划的能力。

优化长字符串统计信息。

优化统计信息的TopN构造逻辑。

统一只读/主实例的plancache过期时间,默认为12小时。

优化select version()返回的版本号前缀,从5.6.29升级至5.7.25。

修复

修复窗口函数中使用count(1)报错的问题。

修复常量折叠后基数估算错误的问题。

修复hex/length函数对于blob类型计算结果错误的问题。

修复表存在名```x```的列时,统计信息采集会失败的问题。

修复count(*)无法对window函数进行列裁剪的问题。

修复show index from语句展示的是物理表名的问题。

修复白名单管理器在CN初始化加载元数据低概率报错时没有及时中断,导致白名单元数据加载错误的问题。

修复文本Prepare协议Deallocate计数错误的问题。

修复ddl seq创建会将整个schema的baseline清理掉的问题。

修复CBO可能无法下推agg到GSI中的问题。

发布日期:2024-03-20

大版本:V5.4.18

小版本:17108394

类别

说明

新增&优化

新增Online Modify Column 2.0功能。

新增show full binary logsshow full master status等binlog相关运维指令。

优化存储过程的创建和删除流程,避免出现元数据残留问题。

降低REPLACE/UPSERT语句在包含GSI或UGSI的表上执行时的CPU消耗。

缺陷修复

修复包含clustered index的表在创建local索引时,部分旧的执行计划没有清理的问题。

修复在DRDS模式数据库中,执行多表RENAME时,有概率找不到物理表的问题。

修复不同存储池同时扩缩容可能导致CDC DN列表计算不正确的问题。

修复外键表中执行DML出错的问题。

修复distinct count多列执行可能报错的问题。

修复统计信息correction功能因大小写设置不正确而失效的问题。

修复drop table语句中包含多个库名时SQL依然可以执行成功的问题。

修复AUTO模式数据库中分区表的分区列包含反引号字符时,创建表报错的问题。

修复在扩缩容或者UGSI创建过程中,insert ignore(returning)可能导致数据校验不通过的问题。

修复GSI和Local Index索引名重复的问题。

修复创建UGSI时,如果索引名存在特殊字符会创建失败的问题。

修复Row表达式的计算错误问题。

修复非东八区实例的事务日志清理频率过快的问题。

修复多阶段DDL在只读实例上路由错误的问题、对SQL_MODE处理不当导致modify column not null卡住、对包含特殊字符表名的逻辑表执行DDL卡住的问题。

发布日期:2024-02-26

大版本:V5.4.16

小版本:17083213

类别

说明

优化

优化sharding下推场景,使其可以命中xplan缓存加速高并发性能。

缺陷修复

修复INFORMATION_SCHEMA中部分视图带IN查询条件导致无法正常查询数据的问题。

修复BKA Join在特殊字符场景导致的物理sql语法问题。

修复子查询大于等于三个关联项时,关联匹配错乱的问题。

修复BKA Join场景下路由计算不正确的问题。

发布日期:2024-02-04

大版本:V5.4.18

小版本:17066805

类别

说明

新增&优化

新增show create tablegroup命令,支持对预定义表组的展示。

新增下推到DN上的加减列、加减索引、修改列的DDL进行多分片的原子性提交。

新增ANALYZE TABLE失败时显示具体原因。

新增sample时流式获取结果集功能。

优化子查询解关联逻辑,忽略子查询中不带limit的order by对解关联的影响。

优化在线修改列类型操作时,减少变更时间。

缺陷修复

修复支持对max_allowed_packet和max_user_connections的全局配置。

修复自动打散的单表无法直接修改主键的问题。

修复查询归档表的timestamp字段概率性结果不正确的问题。

修复rename table命令被中断之后可能出现的找不到物理分片的问题。

修复inspect index在当前数据库包含视图时无法诊断的问题。

修复修改全局唯一索引拆分键列类型时,DDL可能发生的非预期暂停问题。

修复TTL表执行rename table命令偶发失败的问题。

修复标准版升级至企业版后,数据库名长度大于5时无法扩容的问题。

修复主键拆分时主键列发生截断时路由报错的问题。

修复view变更后plancache未清理的问题。

修复索引诊断功能在key分区Global Index上的部分诊断策略有误的问题。

发布日期:2024-01-10

大版本:V5.4.18

小版本:17047709

类别

说明

缺陷修复

修复索引推荐的索引名过长的问题。

修复开启单表打散功能时,单表关联存在错误下推风险的问题。

修复CoHash的Right分区函数计算结果不正确导致的分区路由问题,

发布日期:2023-12-27

大版本:V5.4.18

小版本:17034692

类别

说明

新增&优化

新增支持AUTO模式数据库的co_hash分区策略。

优化使用AB表方案进行事务日志清理的流程,避免一次性对所有库的日志进行清理,该功能在新实例上默认打开。

优化CN单条连接内Prepare语句超出限制后的报错信息。

优化扩缩容过程中的数据迁移方式,详情请参见增加/减少节点

缺陷修复

修复永真条件下IO计算错误的问题。

修复Xplan生成并发安全的问题。

修复统计信息采集失败的问题。

修复AUTO模式数据库中Select不带表名时,语句执行报错的问题。

修复INSERT中存在多个相同列时的异常行为。

修复show create table展示的auto_increment值可能错误的问题。

修复inspect index功能对GSI区分度计算错误的问题。

修复存储过程中游标数据量过大时可能导致NPE的问题。

修复SPM中执行计划无法正常删除的问题。

修复全下推的执行计划进入SPM的问题。

发布日期:2023-12-21

大版本:V5.4.17

小版本:17025353

类别

说明

新增&优化

新增SKIP_PHYSICAL_ANALYZE参数用于跳过analyze table时DN的analyze操作。

新增支持动态调整分区表分区名字的最大长度。

优化analyze table逻辑,避免对GSI做统计信息采集。

统计信息支持对未采集到的时间列数据进行合理预测。

优化表组的表数目过大时,AUTO模式数据库中建表的速度。

优化AUTO模式数据库中表数据量较大时,建表的速度。

优化部分场景下数据迁移过程的校验速度。

缺陷修复

修复XRPC下使用流式早停,小概率导致实例级连接池切库失败的问题。

修复子查询大于等于三项关联项时,关联匹配错乱的问题。

修复DDL操作可能导致CN统计信息不一致的问题。

修复修改拆分区列类型时,如果存在大写列名执行会失败的问题。

修复DML逻辑执行中报JSON不支持的问题。

修复alter table修改default charset语法不兼容问题。

修复在binlog dump连接中发送ping请求导致线程泄漏的问题。

修复连接被KILL时小概率导致事务泄露的问题。

发布日期:2023-11-22

大版本:V5.4.18

小版本:17004745

类别

说明

新增&优化

优化AUTO模式数据库中表数据量较大时创建表的效率。

新增plan_cache视图返回默认库下的执行计划。

优化AUTO模式数据库中并发建表的效率。

缺陷修复

修复alter table指定不存在的库名时,报错不友好问题。

修复在同一条alter table语句中drop column和modify column同时出现时,执行失败的问题。

修复窗口函数中order by和partition by字段为空时,在某些执行模式下执行可能报错的问题。

修复查询information schema下的tables视图可能报错的问题。

修复修改拆分区列类型时,如果存在大写列名执行会失败问题。

修复XRPC下使用流式早停,小概率导致实例级连接池切库失败的问题。

修复show warnings的警告信息条数不正确的问题。

修复rollback ddl可能无法中断analyze table的问题。

修复数据迁移/添加索引等过程中,如果表存在字符串类型,可能会导致该类型在目标表数据不正确的问题。

修复TruncateTable后TableDetail视图的GSI相关数据会丢失的问题。

修复alter table修改AVG_ROW_LENGTH时,执行失败的问题。

修复部分非模板化二级哈希分区建表语法,被当作模板化哈希分区语法的问题。

发布日期:2023-11-13

大版本:V5.4.17

小版本:16994228

类别

说明

新增&优化

优化统计信息错误场景下IN查询uk列的执行计划。

优化二级分区DDL任务反序列化的速度。

优化TTL表添加全局二级索引的速度。

缺陷修复

修复sharding场景无法利用logicalview缓存的问题。

修复DML逻辑执行中不支持JSON的问题。

修复auto savepoint导致备库重放失败的问题。

修复information_schema中部分视图带有IN查询条件,导致无法正常查出数据的问题。

修复information_schema.tables视图在分区过多时查询过慢的问题。

修复关闭事务时小概率出现连接泄露的问题。

修复可下推子查询特殊场景下的列映射错误问题。

发布日期:2023-10-23

大版本:V5.4.18

小版本:16977056

类别

说明

新增&优化

新增支持外键约束。

新增支持修改用户高权限账号。

新增支持SQL Log记录Error Code。

新增支持Create Table [As] Select语法。

新增视图information_storage_status,以获取GMS和DN节点的实时监控。

新增HashWindow的执行模式以提高窗口函数的性能。

优化热力图功能,降低耗时。

变更统计信息sample采集频率为每天一次。

优化二级分区DDL任务的反序列化性能。

AUTO模式数据库分区表新增支持使用指定小数精度为0的Decimal类型作为分区列。

缺陷修复

修复Error Code输出格式不规范的问题。

修复information_schema.plan_cache视图返回重复值且不能显示缓存参数的问题。

修复建表时包含encryption关键字引起解析失败的问题。

修复DML语句中包含View时,语义校验异常导致优化器报错的问题。

修复partition hint不支持session变量语句的问题。

修复current_user函数返回结果格式不正确的问题。

修复部分DAL指令在高并发场景下存在并发安全风险的问题。

修复Agg查询索引覆盖误判导致报错的问题。

修复带uk的表replace json报错的问题。

修复resize命令修改PlanCache大小后没有存储到metaDB中,导致CN重启后PlanCache大小仍为默认值的问题。

修复List分区修改values后数据丢失的问题。

发布日期:2023-10-16

大版本:V5.4.17

小版本:16971811

类别

说明

新增&优化

私有协议新增支持reload datasources。

支持对大规模分片DDL任务的压缩存储,优化DDL引擎的调度响应时间。

缺陷修复

修复SQL中包含恒假表达式时在事务内执行可能报错的问题。

修复扩缩容过程中存在悬挂事务时,可能存在数据不一致的问题。

修复开启useAffectedRows后,在GSI的复杂DML情况下,affected rows不正确的问题。

修复嵌套BKAJoin概率报错的问题。

修复私有协议获取TSO小概率报错的问题。

修复分区表内的最大物理分区数目限制,在使用二级分区后没有正确生效的问题。

修复在网络抖动场景下,DDL执行结果偶发返回错误的问题。

修复高频执行DDL时,偶发系统表死锁报错的问题。

修复因大小写问题可能导致的InformationSchema的table_details查询报NPE的问题。

修复部分场景下子查询转semi-join的优化,可能导致查询报错的问题。

发布日期:2023-09-22

大版本:V5.4.17

小版本:16952556

类别

说明

新增&优化

新增支持快速中断扩缩容过程中的校验任务。

新增useAffectedRows支持。

新增支持自动分区表下create global index语法无需指定分区键的功能。

分区表建表时新增支持使用Decimal作为分区列。

优化定时任务使用随机线程池bucket,防止占满单个bucket的线程。

优化load data在私有协议下的性能。

优化TTL表预分区的逻辑。

优化pause/cancel/rollback rebalance ddl的中断逻辑。

优化TTL表的归档定时任务。

优化同一tablegroup中表数量过多时DDL的执行效率。

缺陷修复

修复check global index可以并发执行的问题。

修复check global index show报错的问题。

修复归档表在JDBC协议下的兼容性。

修复未加入主实例集群的只读实例DN存在和主实例CN保有连接池的问题。

修复create table with gsi部分情况下执行失败且无法自动回滚的问题。

修复部分DAL指令在高并发下存在并发安全风险的问题。

修复部分场景下执行器没有选择走xplan的问题。

修复使用xplan访问带生成列的表导致crash的问题。

修复已建AUTO数据库SHOW CREATE DATABASE命令在部分场景下会报NPE的问题。

修复私有协议chunk传输在类型推导有误时,字符串转整型存在负号时不能识别的问题。

修复数据库表数量过多时,扩缩容流程可能会失败的问题。

修复BKAJoin场景下的路由计算问题。

修复information_schema.table_constraints视图对于无主键表、复合索引、全局索引的显示错误问题。

修复数据校验流程可能被数据迁移任务阻塞的问题。

发布日期:2023-08-18

大版本:V5.4.17

小版本:16921956

类别

说明

新增&优化

创建AUTO模式数据库的语句中新增default_single=‘on’参数,表示此数据库默认创建单表而且自动打散各个DN。

新增支持非事务场景下的跨库单表下推。

新增私有协议下的锁等待检测,自动处决阻塞物理DDL超过15s的长事务。

优化list default子分区场景下,对变更表组级分区、表级分区的支持。

优化冷数据归档的运维窗口,避免异常中断的归档任务在运维窗口之外被拉起。

优化冷数据归档任务的异常处理逻辑。

缺陷修复

修复在读写分离场景下,只读DN异常导致主实例重启失败的问题。

修复多列IN查询包含HEX表达式时解析错误的问题。

修复lookup执行器在执行阶段访问mq获取column信息的并发问题。

修复长事务遇到事务日志清理可能会阻塞其他事务的问题。

修复rename table对多张表操作时,可能产生死锁的问题。

修复带分区函数的子分区表点查时路由裁剪有概率报NPE的问题。

修复select @@global.server_id查询结果不符合预期的问题。

修复create table if not exists like非预期报错的问题。

修复SPM自动演化计划不能正常选中的问题。

修复优化器复合索引扫描代价估算错误的问题。

修复子分区在MovePartition过程中部分DML执行会NPE报错的问题。

修复GSI在删除之后可能出现元数据残留的问题。

修复DRDS模式数据库在扩容后,LSN设置失败的问题。

修复广播表执行DML包含rand()函数导致数据不一致的问题。

修复索引名称为hash时,创建索引失败的问题。

发布日期:2023-07-28

大版本:V5.4.16

小版本:16901668

类别

说明

新增&优化

新增支持创建用户时的密码中包含双引号。

缺陷修复

修复通过show stats查询时活跃连接数为负数的问题。

修复广播表执行包含rand()函数的DML语句时数据不一致的问题。

修复执行语法不正确的DDL时,DDL有概率卡住的问题。

修复主实例反复变配过程中,GMS连接池存在连接泄露风险的问题。

修复date_add函数计算问题。

修复执行alter table drop index时索引名带特殊字符引起的删除失败问题。

修复分区键变更的优化失效问题。

修复information_schema tables视图中charset collate不准确的问题。

修复优化器复合索引扫描代价估算错误的问题。

发布日期:2023-07-24

大版本:V5.4.17

小版本:16899058

类别

说明

新增&优化

新增useAffectedRows支持。

新增视图information_storage_status以获取GMS和DN实时监控。

缺陷修复

修复长事务在事务日志清理时可能会阻塞其他事务的问题。

修复DML语句中包含视图时,语义校验异常导致优化器报错的问题。

修复包含'BIGINT SIGNED'列定义的建表语句及解析语法报错的问题。

修复特殊Project-Agg组合场景下,相关联子查询条件抽取异常导致优化器报错的问题。

修复filter不完全推导的问题。

修复partition hint不支持session变量语句的问题。

修复INSERT IGNORE SELECT语句,SELECT子句中包含相关联子查询时,部分场景下报错的问题。

修复INSERT SELECT中包含不可下推算子时,执行计划报错的问题。

修复partition By Key不指定列时建表报错的问题。

修复只读实例维护白名单,导致主实例节点无法sync到只读节点的问题。

修复analyze table无法立即暂停/回滚的问题。

修复执行语法不正确的DDL时,DDL有概率卡住的问题。

修复在JDBC模式下,通过DMS不带执行limit的大表扫描时可能偶发报错的问题。

发布日期:2023-07-13

大版本:V5.4.17

小版本:16890724

类别

说明

优化

优化索引的缺省命名逻辑,与MySQL保持一致。

缺陷修复

修复部分场景下填充默认值阶段报错的问题。

修复定时任务无法正常收集统计信息的问题。

修复只读实例维护白名单,导致主实例节点无法同步到只读节点的问题。

修复SUM函数在部分场景下结果不正确的问题。

发布日期:2023-07-06

大版本:V5.4.17

小版本:16885239

类别

说明

新增&优化

优化auto-savepoint的逻辑,该功能默认打开。

优化普通账户执行set global不生效时的返回信息,优化后会上报warning。

新增支持执行show table replicate status指令时展示当前库所有表和GSI的状态。

新增支持使用set cdc global key=value设置CDC相关的系统变量。

优化物理MDL锁等待检测机制。

MPP模式新增支持计算节点的session变量设置。

缺陷修复

修复inspect index在某些情况下失败的问题。

修复主实例和只读实例的DN同时发生HA时,HA探测任务失效的问题。

修复TRIM函数的类型推导不正确的问题。

修复prepare模式参数过多时数量判断不正确的问题。

修复执行alter table drop index时索引名带特殊字符引起删除失败的问题。

修复等值条件传递的过滤条件无法穿透聚合算子的问题。

修复主实例反复变配过程中,GMS连接池存在连接泄露风险的问题。

修复私有协议chunk encoder中特殊数据传输下,可能造成内存越界踩踏crash的问题。

修复包含'BIGINT SIGNED' 列定义的建表语句及解析语法报错问题。

发布日期:2023-06-13

大版本:V5.4.17

小版本:16865674

类别

说明

新增&优化

计算节点和存储节点新增参数GROUP_CONCAT_MAX_LEN

缺陷修复

修复create tableROW_FORMAT = x COLLATE y时解析出错的问题。

修复创建List分区表可能出现分区组元数据不正确的问题。

发布日期:2023-06-06

大版本:V5.4.17

小版本:16859297

类别

说明

新增&优化

支持审计日志内存化,优化审计日志采集流程。

SQL限流关键字匹配时,忽略关键词前后的反引号。

新增索引诊断功能,支持一键诊断低效索引,对应文档请参见索引诊断

优化OSS表information_schema tables视图中collation字段的兼容性。

优化物理DDL被中断或取消后的行为。

缺陷修复

修复窗口函数中使用Avg函数,当输入列为double类型时,执行可能出错的问题。

修复pause ddl可能出现的暂停不了DDL的问题。

修复invisible index在show create table时的显示问题和在invisible状态用force index时仍被优化器使用的问题。

修复baseline add/fix in查询无法使用SPM的问题。

修复ShowTopology无法排序的问题。

修复batch update在JDBC模式下rawstring参数转换的问题。

发布日期:2023-06-02

大版本:V5.4.16

小版本:16855897

类别

说明

缺陷修复

修复create table语句中包含global index可能导致建表失败的问题。

发布日期:2023-05-23

大版本:V5.4.16

小版本:16847200

类别

说明

新功能&优化

优化IN查询判断是否命中计划缓存(Plan Cache)的判断逻辑。

缺陷修复

修复AUTO模式数据库中,分区键IN查询生成的执行计划不正确的问题。

发布日期:2023-05-15

大版本:V5.4.16

小版本:16839433

类别

说明

新功能&优化

新增支持调整fetch lsn的线程池大小和超时时间。

优化server_id参数的配置方式,当对实例进行升级、变配、HA切换时server_id始终不变。

新增BASELINE HINT BIND语句,支持绑定DML的执行计划。

缺陷修复

修复in转join可能导致结果不正确的问题。

修复SQL访问INFORMATION_SCHEMA时IN表达式参数数量变更触发的参数报错问题。

修复Prepare请求被统计到QPS中的问题。

修复date_format在CN和DN上行为不一致的问题。

修复实例无流量时QPS和TPS统计不正确的问题。

修复CN端对只读事务的TPS统计不正确的问题。

修复执行DDL SQL时因某个物理库下没有物理表导致CDC获取拓扑元数据时的NPE问题。

修复pause ddl可能出现的无法暂停ddl的问题。

修复LONG类型转定长CHAR类型时没有按照定长处理截断,导致路由不正确的问题。

修复batch update在JDBC模式下rawstring参数转换不正确的问题。

修复部分场景下优化器转化聚合函数时报错的问题。

修复等值join可能不按照hash join处理的问题。

发布日期:2023-05-09

大版本:V5.4.17

小版本:16835173

类别

说明

新功能&优化

新增支持对已绑定归档表的TTL表变更local partition规则。

新增支持生成列和函数索引的功能。

将秒级加字段(Instant Add Column)功能设置为默认开启。

新增支持隐藏和显示global index,对应文档请参见INVISIBLE INDEX

新增支持使用standby节点做backfill,降低对业务的影响。

新增支持key分区分裂指定新分区数目。

支持在AUTO模式数据库中执行alter table drop primary keyadd primary key

新增支持修改拆分键列类型。

新增归档表对部分DDL的支持。

优化New Sequence的功能与性能,对应文档请参见New Sequence

优化大结果集回包效率。

新增支持MySQL通信协议的deprecate EOF。

优化权限控制,仅支持高权限账号执行set global语句进行全局变量设置并生效。

新增递归CTE功能,对应文档请参见CTE

对于声明为balance_single_table=on的表组,支持在Rebalance时自动打散。

新增支持对带子分区的表进行热点分裂。

新增支持GB18030字符集,包括collation gb18030_chinese_ci和非默认collation gb18030_bin。

优化归档表中的DDL禁用逻辑。

缺陷修复

修复date_format在CN和DN上行为不一致的问题。

修复explain physical在tp_local模式下显示错误的问题。

修复in查询列表中包含表达式或变量时结果不正确的问题。

修复部分场景下优化器转化聚合函数时报错的问题。

修复跨库查询提示表不存在问题。

修复alter table add CONSTRAINT UNIQUE key报错且无法回滚问题。

修复Show Create Table对字段名包含转义字符的字段显示不全的问题。

修复join条件中like子句匹配模板为列时报错的问题。

发布日期:2023-04-28

大版本:V5.4.16

小版本:16825599

类别

说明

新功能&优化

优化部分场景下 '<=>' 条件的join执行计划。

新增rename table支持同时给多张表重命名,详情请参见RENAME TABLE

新增支持计算层参数CN_GROUP_CONCAT_MAX_LEN,用于变更计算节点的group concat行为。

缺陷修复

修复innodb_lock_waits视图查询概率性报错的问题。

修复对存储层变量执行set global成功后,部分场景下同一个会话(session)中的其他查询会报错的问题。

修复数据迁移过程中,表存在大字段时数据迁移可能会失败的问题。

修复BKA join时优化器选错索引导致执行计划不优的问题。

修复ScaleOut时广播表执行Insert操作报NPE问题。

修复分区变更过程中,全表扫描失败问题。

修复子查询中apply参数不支持负数的问题。

修复简单Decimal类型求和小概率结果错误的问题。

修复指定DN分片执行sql的hint语句,在非下推场景下报错的问题。

修复对GSI表进行数据迁移时,有概率出现数据不一致导致迁移失败问题。

修复表名过长导致数据迁移失败问题。

修复表名、库名等不支持'-'的符号的问题。

修复window函数order by时报Sql could not be implemented错误的问题。

修复AES_DECRYPT的返回类型为binary。

修复多表关联场景下未按照指定join顺序(特指括弧)做关联查询的问题。

修复建表过程中变更New Sequence元数据失败导致建表失败的问题。

发布日期:2023-04-11

大版本:V5.4.16

小版本:16809623

类别

说明

新功能&优化

新增支持XA事务中,备库读场景的RC隔离级别。

优化TTL表修改过期时间的逻辑。

缺陷修复

修复Alter Table中多个Change Column操作间列名关联或多个Rename Index操作间索引名关联时,DDL任务失败的问题。

修复存储过程对于中划线的兼容性问题。

修复TSO事务中部分Agg查询报不存在主键错误的问题。

修复在TSO事务的备库一致性读场景中,存在读到不一致数据的问题。

修复RawString在DRDS模式数据库中的裁剪不生效问题。

修复统计信息TopN处理null值的NPE问题。

修复RawString在DynamicValues执行器中的值类型没有正确获取的问题。

修复私有协议下DDL物理分片执行时900秒超时的问题。

修复数据迁移过程中pause ddl然后continue可能导致DDL失败问题。

发布日期:2023-03-22

大版本:V5.4.16

小版本:16791337

类别

说明

新功能&优化

新增支持调整fetch lsn的线程池大小和超时时间。

优化索引推荐的逻辑,避免在缺失统计信息和索引列选择度低的情况下推荐索引。

缺陷修复

修复JDBC下数据迁移失败问题。

修复alter table add CONSTRAINT UNIQUE key报错且无法回滚问题。

修复关联子查询多层迭代时,找不到下层关联项的问题。

修复数据迁移过程中,可能因为冲突而降速的问题。

修复Show Create Table对包含转义字符的字段名显示不全的问题。

修复统计信息模块在大量表达式时消耗过多CPU的问题。

修复AUTO库单表打散后,单表JOIN下推误判导致执行报错的问题。

发布日期:2023-03-02

大版本:V5.4.16

小版本:16773973

类别

说明

新功能&优化

新增语法,支持在某一指定的DN分片上执行SQL语句。

完善LAST_INSERT_ID()函数语义,与MySQL保持一致。

新增开关,将库名、表名统一显示为小写,此开关默认关闭。

运维窗口配置起始时间允许晚于结束时间。

缺陷修复

修复物理SQL的耗费时长统计不正确,导致部分物理SQL被错误的记录为慢SQL的问题。

修复prepare模式下,batch insert导致CPU升高的问题。

修复执行alter table drop column可能无法访问该表的问题。

针对默认主键拆分表,将其全局二级索引的默认分区数由实例级别修改为表级别。

修复闪回查询在特殊情况下报错的问题。

修复私有协议在后端连接数不足时的报错信息。

修复varchar分区键在写入负数的情况下,隐式类型转换处理出错的问题。

修复AUTO模式下,在包含GSI的BkaJoin执行过程中, Lookup Key推导出错的问题。

修复DRDS模式数据库扩容失败的问题。

修复TTL表RENAME之后,TTL功能失效的问题。

修复删库删表时未清理plan cache和baseline中的执行计划的问题。

修复通过ALTER语句对全局二级索引的分区进行分裂时的权限报错问题。

修复DRDS模式数据库中多表join时,shardKey join shardKey判断时没有区分分库键和分表键,导致生成错误的执行计划的问题。

修复跨库analyze table权限校验失败的问题。

修复子查询(subquery)物化(materialize)执行模式估算子查询行数为500时,执行计划构建错误的问题。

修复归档表查询低概率卡死的问题。

修复create table like对locality支持不完善的问题。

禁止alter table convert to character set。

修复私有协议在CN高负载场景下小概率死锁,导致部分请求超时的问题。

修复私有协议探活可能延迟10分钟进而造成连接抖动的问题。

修复私有协议在传输大包时,可能出现探活任务错误终止连接的问题。

修复length函数错误解析Binary字符串作为参数的字节长度的问题。

在JDBC协议修复偶发Query execution was interrupted异常报错问题。

发布日期:2023-03-02

大版本:V5.4.15

小版本:16774576

类别

说明

缺陷修复

修复AUTO模式数据库中,包含GSI的BkaJoin执行过程中, Lookup Key推导出错的问题。

修复私有协议在后端连接数不足时的报错信息。

修复私有协议在CN高负载场景下小概率死锁,导致部分请求超时的问题。

修复归档表查询低概率卡死的问题。

修复私有协议在传输大包时,可能出现探活任务错误终止连接的问题。

修复DRDS模式下的多表join,shardKey join shardKey判断时没有区分分库键和分表键,导致生成错误的执行计划的问题。

修复TTL表RENAME之后,TTL表失效的问题。

修复varchar类型的分区键在写入负数的情况下,隐式类型转换处理出错的问题。

修复子查询(subquery)物化(materialize)执行模式估算子查询行数为500时,执行计划构建错误的问题。

修复私有协议探活可能延迟10分钟进而造成连接抖动的问题。

禁止alter table convert to character set。

修复跨库analyze table权限校验失败的问题。

发布日期:2023-01-14

大版本:V5.4.15

小版本:16734908

类别

说明

缺陷修复

修复执行alter table drop column可能无法访问该表的问题。

针对默认主键拆分表,将其全局二级索引的默认分区数由实例级别修改为表级别。

完善LAST_INSERT_ID()函数语义,与MySQL保持一致。

发布日期:2022-12-27

大版本:V5.4.16

小版本:16717637

类别

说明

新功能&优化

新增支持create database like/as语句,该语句支持一键迁移DRDS模式数据库至AUTO模式数据库。对应文档请参见将DRDS模式数据库转换为AUTO模式数据库

新增OSS回填支持多机并行迁移的功能。

新增支持自定义函数。

新增Rebalance分区均衡策略,在扩缩容数据重分布时默认开启。

新增支持以下分区函数:substr,dayofmonth,dayofweek,dayofyear,to_months,to_weeks。

CHECK TABLE语句新增支持Local索引校验。

在JDBC连接串中增加useCursorFetch=true参数,该参数支持将查询结果先缓存在服务器上,客户端每次取几条,而不是一次性将所有查询结果返回给客户端。

优化大量or查询场景下优化器的内存消耗。

优化数据迁移过程中的稳定性,减少对业务的影响。

优化数据迁移效率。

分区表的VARCHAR、CHAR类型新增支持substr、substring作为分区函数。

缺陷修复

修复TableScanExec在某些MergeSort场景下偶发的异常早停问题。

修复主表存在GSI时,无法对主表进行重命名的问题。

减少AUTO模式数据库中,全局二级索引上冗余的局部索引。

修复window函数在MPP模式下执行报错的问题。

修复year函数中当输入类型为tinyint时计算不正确的问题和join条件中比较类型不正确的问题。

修复AES加解密函数返回结果不符合预期的问题。

发布日期:2022-12-23

大版本:V5.4.15

小版本:16715927

类别

说明

新功能&优化

AUTO模式数据库中分区键新增支持Binary和VarBinary类型。

完善LAST_INSERT_ID()函数语义,与MySQL保持一致。

缺陷修复

修复表中含有JSON类型列时,执行REPLACE、UPSERT命令时报错的问题。

修复found_rows函数在存储过程中计算结果不正确的问题。

修复列名大写时,统计信息中topN丢失的问题。

修复执行Alter Table命令重建复合主键并删除部分主键列时,DDL任务可能失败且无法继续或回滚的问题。

修复json_extract函数提取不存在的属性时,错误地返回了字符串"NULL"的问题。

发布日期:2022-12-13

大版本:V5.4.15

小版本:16704996

类别

说明

新功能&优化

优化解析SQL报错时产生的错误信息与日志。

新增partition hint功能,满足客户针对单一分片的跑批场景。

新增支持高权限用户kill其他连接。

缺陷修复

选择GSI时,如果拆分键非主键,生成拆分键的等值条件中=会变成<=>。修复<=>导致BKA join时无法构造包含拆分键的in查询,使得分片裁剪失效而采用全分片扫描的问题。

修复特定情况下UPSERT没有更新CURRENT_TIMESTAMP的问题。

修复带GSI的部分Semi-join场景产生报错的问题。

修复部分DAL语句(show tables、show topology from、analyze table)对应表级别权限不正确的问题。

修复set password语句当host为空时语法报错的问题。

修复RawString收到null值时的NPE问题。

修复alter table remove partitioning在主键和拆分键相同时失败的问题。

修复数据迁移过程中,可能因为非预期主键冲突而降低数据迁移速度的问题。

修复大规模DN节点同时HA时有概率卡顿并失效的问题。

修复聚合函数sum执行时的decimal数值处理问题。

修复ENABLE_BACKGROUND_STATISTIC_COLLECTION配置对统计信息sample不生效的问题。

修复执行show full columns时暴露隐式主键导致sharding jdbc访问失败的问题。

发布日期:2022-11-27

大版本:V5.4.15

小版本:16694249

类别

说明

新功能&优化

优化事务中超时后的私有协议报错信息。

缺陷修复

修复网络环境较差时,私有协议网络协议层非预期断开的问题。

修复MPP查询模式在只读实例上易出现反序列化失败的问题。

修复SQL_SELECT_LIMIT设置为default时报错的问题。

发布日期:2022-11-21

大版本:V5.4.15

小版本:16687348

类别

说明

新功能&优化

优化TSO事务下带AGG函数的查询逻辑。

优化alter table解析错误的信息提示。

优化全局索引的选择逻辑,降低全局索引的选择倾向性。

创建表和变更表时禁止生成列(Generated Columns)。

优化JDBC模式下maptolist的性能。

优化rowcount采集的速度,提高analyze table及定时任务STATISTIC_ROWCOUNT_COLLECTION的效率。

缺陷修复

修复包含GSI的表上无法通过JDBC更新主键为”0000-00-00 00:00:00“值的数据行的问题。

修复统计信息定时任务sample table没有sync的问题。

修复过期逻辑判断bug导致sample任务无法发起的问题。

发布日期:2022-11-02

大版本:V5.4.15

小版本:16668369

类别

说明

新功能&优化

在读写分离场景中,支持以Grouping方式获取LSN日志位点。

缺陷修复

修复uuid和uuid_short函数仅计算一次的问题。

修复在一些超时或中断场景下,DDL引擎误判物理分片完成状态,导致非预期报错或遗留DDL任务的问题。

修复pruning导致占用过多CPU的问题。

修复执行analyze table语句时,基于不准确的rowcount sample table导致计算节点内存超载的问题。

修复spm params高并发下的清理问题。

修复SQL_SELECT_LIMIT下发至数据节点引发的AGG函数正确性问题。

修复统计信息在某表没有条件访问时,主动analyze没有处理索引ndv的问题。

修复rename之后找不到物理表的问题(仅针对AUTO模式数据库下没有物理表随机后缀的逻辑表) 。

发布日期:2022-10-19

大版本:V5.4.15

小版本:16660526

类别

说明

新功能&优化

支持查看归档表占用空间。

支持在绑定归档表的情况下对原表进行move partition。

创建账户默认密码限制策略兼容RDS MySQL。

优化默认主键拆分表建立时间列索引的逻辑,不再默认建立全局二级索引。

优化私有协议探活流程,减少因为无法创建会话导致连接被kill的情况。

缺陷修复

修复DRDS模式数据库中通过ALTER TABLE变更单表的列AUTO_INCREMENT属性时,自动关联Sequence的问题。

修复UPSERTUpdate list顺序与表定义不同时,类型匹配报错的问题。

修复Kill Connection失败时没有任何报错的问题。

修复prepare模式下,多次查询information_schema权限校验失败的错误。

修复分布式事务恢复、悬挂事务过多且DN会话打满时可能导致DN死锁的问题。

发布日期:2022-09-30

大版本:V5.4.15

小版本:16642369

类别

说明

新功能&优化

新增information_schema权限系统表兼容MySQL。

缺陷修复

修复information_schema的部分视图查询报错的问题。

修复load data语句指定字符集时不加引号报错的问题。

修复mock模式不支持insert on duplicate key update的问题。

修复unique global index在创建或者数据迁移过程中,可能出现与主表数据不一致的问题。

修复分区键单点查询有概率因Auto模式数据库写并行导致查询结果不正确的问题。

发布日期:2022-09-20

大版本:V5.4.15

小版本:16635539

类别

说明

新功能&优化

新增支持分区自动分裂。

新增Auto-Split运维功能。

新增支持存储过程,对应文档请参见存储过程

新增支持表级别的分区表变更,对应文档请参见变更表级分区(AUTO模式)

新增支持kill connection语法。

新增内核权限,支持密码复杂度、有效期的配置和检测。

AUTO模式数据库分区表新增支持BKA-Join In值裁剪。

支持用户的登入登出审计功能(默认关闭)。

新增支持在线修改列类型,对应文档请参见无锁变更列类型

新增支持统计信息FEEDBACK时发起sample。

分区热力图兼容分区自动分裂功能。

Plan Cache的默认大小由2000调整为4000,统计信息feedback由默认开启调整为默认关闭。

优化创建全局二级索引、扩缩容、分区变更等操作时数据迁移的速度。

优化新分区表DML类型比较逻辑。

优化一些条件下的UPSERT性能。

优化set global变量的设置逻辑,减少开销。

缺陷修复

修复to_base64解析binary变量不正确的问题。

修复窗口函数在某些场景的非预期下推行为。

修复私有协议传递执行计划时,EXPLAIN EXECUTE结果与实际索引不同的问题。

修复不可下推函数在某些场合下的非预期下推问题。

修复没有带host的用户创建语句报错的问题。

修复非下推JSON_QUOTE函数的转义字符问题。

修复MDL锁获取过程中的NPE问题。

修复HashGroupJoin算子存在数组越界的问题。

修复AES加密函数返回结果不符合预期的问题。

修复分区选择在覆盖索引查询时返回错误结果的问题。

修复归档表in查询无法裁剪文件的问题。

修复某些情况下window函数计算错误的问题。

修复DRDS模式数据库中拆分键变更对表名大小写敏感的问题。

修复AUTO模式数据库全表扫描时deplay init的问题。

发布日期:2022-09-02

大版本:V5.4.14

小版本:16619918

类别

说明

缺陷修复

修复下推的单表中,UPDATE命令中子查询的表名没有被正确替换的问题。

修复UPDATE命令中的多表NPE问题。

修复JSON操作符->在表达式中的解析问题。

修复部分子查询中APPLY执行过程Context未传递导致的报错问题。

修复对于yyyyweek跨年周闭区间范围查询分片缺失问题。

发布日期:2022-08-15

大版本:V5.4.14

小版本:16601976

类别

说明

缺陷修复

修复读写分离在只读事务下未生效的问题。

修复DTS同步乱码问题。

修复auto savepoint功能可能将用户设置的savepoint释放的问题。

修复rebalance任务更新系统表的SQL错误的问题。

修复JDBC模式下参数冗余处理给私有协议模式带来的CPU消耗过高的问题。

修复SPM默认关闭的问题。

修复执行UPDATE语句时BINARY类型处理不正确的问题。

发布日期:2022-08-01

大版本:V5.4.14

小版本:16590002

类别

说明

新功能&优化

新增支持冷数据归档功能,对应文档请参见冷数据归档语法

支持ALTER TABLE PARTITIONS语句,可使用该语句一键修改主表以及全局二级索引表的分区数(仅限于AUTO模式数据库下的默认主键拆分表使用) 。

支持用户自定义变量设置为表达式。

新增分区表支持对含Scalar子查询的拆分条件,进行动态分区裁剪。

支持暂停TTL表的定时任务。

支持List分区表default分区。

Optimize table使用新DDL引擎实现。

文本Prepare模式下支持使用自定义变量。

优化默认主键拆分的表删除默认生成的local index时的报错信息。

优化AUTO库物理分区的读写并行度及其读写性能。

缺陷修复

修复List分区使用month分区函数查询结果不正确的问题。

修复子查询消除时的并发安全问题。

修复CDC启动时执行DDL失败的问题。

修复AUTO模式数据库下alter table remove partitioning逻辑,不再用于将表转为单表,而是用于将分区表转为默认主键拆分表。

修复PolarDB-X对于Navicat主键元信息的兼容性。

修复show status视图返回空的问题。

修复AUTO模式数据库下Insert语句ExplainOptimizer报NPE的问题。

修复AUTO模式数据库下广播表与单表Join下推时,选错物理库导致执行报错的问题。

发布日期:2022-07-14

大版本:V5.4.14

小版本:16576195

类别

说明

缺陷修复

修复IN表达式裁剪引起的事务中报错及潜在的正确性问题。

修复执行DROP CLUSTERED GSI失败问题,对非默认主键的拆分表添加GSI时,不再自动给已有CLUSTERED GSI添加LOCAL INDEX。

修复使用month分区函数时区间范围查询结果不正确的问题。

修复带LOCAL FULLTEXT KEY的表无法truncate的问题。

发布日期:2022-06-28

大版本:V5.4.14

小版本:16563827

类别

说明

新功能&优化

私有协议探活超时时间可调整。

缺陷修复

修复alter table modify after失败的问题。

修复8.0驱动下同时开启cachePrepStmts和useServerPrepStmts时的兼容性问题。

修复设置事务策略到BED的问题,best effort事务策略在PolarDB-X 2.0中不再支持。

修复使用常量表达式作为分区键时,缺少语法校验并导致建表失败的问题。

修复同一个会话中使用Current timestamp时,值不会变化的问题。

修复会话管理界面的业务SQL与私有协议内部逻辑冲突导致查询卡慢的问题。

发布日期:2022-06-21

大版本:V5.4.14

小版本:16556932

类别

说明

缺陷修复

修复ALTER TABLE将列名改为特殊字符时,元数据处理失败的问题。

修复sum(bigint unsigned)的返回类型问题。

发布日期:2022-06-09

大版本:V5.4.14

小版本:16547447

类别

说明

新功能&优化

优化Scan算子在流式归并排序过程中的内存使用。

缺陷修复

修复MPP执行模式下Outer Join的Broadcast Shuffle选择问题。

修复AUTO模式数据库中单表无法下推的问题。

修复Prepare模式下,IN语句转Subquery时,优化器报错的问题。

修复union distinct查询在MPP执行模式下查询结果不正确的问题。

修复只读实例中Sequence初始化失败上报NPE的问题。

修复SQL限流匹配表名时带反引号,无法匹配表名的问题。

修复shardingadvisor whatif阶段产生的NPE问题。

发布日期:2022-06-02

大版本:V5.4.14

小版本:16539836

类别

说明

新功能&优化

新增支持全局唯一、单调递增、高性能的New Sequence,对应文档请参见New Sequence(NEW)

新增支持在AUTO模式下创建数据库、表组、表、分区时指定locality属性,支持动态修改表组和分区组的Locality,对应文档请参见通过LOCALITY指定存储位置(AUTO模式)

优化默认自动分区的表进行分区变更的逻辑,对默认自动分区的表执行ALTER PARTITION语句转分区表时,会将GSI转换成Local Index。

优化创建GSI或分区变更过程中,数据回填时找不到对应分区的报错信息。

新增shardingadvise语法针对当前库的workload进行表的拆分方式推荐。

默认打开set global的变量开关。

新增分区热力图功能,对应文档请参见分区热力图

新增tablegroup mdl,解决tables sync容易产生mdl死锁的问题。

新增事务中失败的DML语句自动回滚的功能,并且不影响后续语句的执行。

优化IN动态参数场景的内存模型。

支持Insert Overwrite语法。

支持新分区表的建表语句中使用hex string。

新增支持将分区方式相同的多个表组合并到一个merge tablegroups,将分区相同的表批量加入到目标表组。对应文档请参见变更表组级分区(AUTO模式)表组合并(AUTO模式)

死锁检测兼容MySQL 8.0。

支持服务端的游标cursor。

支持直接通过GSI的逻辑名设置表组,例如alter table t1.g1 set tablegroup=#tg

支持同时查询主表和二级索引表再回表。

优化insert、update、delete和select语句的执行性能。

带IN表达式的请求不会再产生过多执行计划,减少对内存及PlanCache的压力。

优化权限校验流程。

解除用户表不能与系统表同名的限制。

优化DDL执行逻辑,当某个DDL任务正在执行时,不再向执行队列中塞入该任务。

新增DDL任务历史数据归档。

新增支持STATEMENTS_SUMMARY和STATEMENTS_SUMMARY_HISTORY元数据库表,详细内容请参见元数据库和数据字典

缺陷修复

修复物理SQL的Having别名语法不正确的问题。

修复当日志复制线程中断时,读写分离场景中只读流量无法切回主库的问题。

修复SQL限流重新调度执行时(wait_queue_size大于0,语句从等待队列出来执行),出错未返回错误给客户端,导致客户端阻塞的问题。

修复统计信息收集hll时间时未控制到分表的问题。

升级jetty 205版本,规避MPP RPC过程中由于jetty低版本问题导致的堆外内存泄露问题。

修复DDL任务执行过程中,记录物理DDL状态时可能发生的Lock wait timeout问题。

修复非utf8编码的连接上私有协议传递字符串编码错误的问题。

修复trace ddl后,可能出现show ddl为空或者不完整的情况。

修复SHOW RULE命令不兼容新分区表的问题。

修复加列同时创建索引后缺失索引元数据的问题。

修复Rename TableAlter Table变更列后统计信息被清除的问题。

修复Comparative对象变更导致计划污染问题。

修复show columns和desc结果列头全大写的问题。

修复AUTO库下全局唯一索引丢失主键信息的问题。

修复CDC打标信息中表名不一致的问题。

修复AUTO模式数据库中ignore index时GSI相关的索引被错误下推的问题。

发布日期:2022-05-16

大版本:V5.4.13

小版本:16526725

类别

说明

新功能&优化

优化私有协议后端连接产生致命错误时的报错信息。

优化使用KILL ALL语句杀死所有后端连接时,无论是否有请求在执行。

缺陷修复

修复IndexAdvisor修改表元信息时,导致表不可用的问题。

修复GSI UPDATE时可能数据造成不一致的问题。

修复UGSI隐式主键和拆分键重复时候被错误去重的问题。

发布日期:2022-04-21

大版本:V5.4.13

小版本:16504348

类别

说明

缺陷修复

修复拆分规则变更和分区规则变更时,DDL语法报错不友好的问题。

修复INSTANT ADD COLUMN之后下推INSERT列序错乱的问题。

修复Truncate Table With RecycleBin场景下CDC打标拓扑信息错误的问题。

发布日期:2022-04-15

大版本:V5.4.13

小版本:16499071

类别

说明

新功能&优化

当发生OOM的时候,自动重启CN。

缺陷修复

修复在数据量大且数据cardinality低情况下,BKA关联查询中多次迭代会出现查询偶尔不一致的问题。

修复私有协议传递执行计划时,索引点查超字段长度截断,导致返回结果错误的问题。

修复不等号条件可能导致查询结果不正确的问题。

发布日期:2022-04-08

大版本:V5.4.13

小版本:16493698

类别

说明

缺陷修复

修复information_schema.processlist采集到只读实例会话的问题。

发布日期:2022-04-02

大版本:V5.4.13

小版本:16487873

类别

说明

新增

完善并优化对binary编码的支持。

新增Hint,允许物理DDL部分失败时人工介入。

优化PolarDB-X的分布式死锁检测逻辑。

CLEAR SLOW由Schema级别调整为实例级别。

分区表SHOW拓扑增加显示DN与物理库信息。

优化分布式事务全局时间戳获取,采用更短的超时策略和更多重试。

缺陷修复

修复分区表Show Create Table纯数字分区名没带反引号导致建表语法报错的问题。

修复控制台授权操作报错的问题。

修复缩容过程中DN节点的HA探测可能hung的问题。

修复私有协议出现小概率并发修改session变量,导致查询报错的问题。

修复分区表LookupJoin因重复生成裁剪计划可能会导致的性能问题。

修复分区表Partition Selection语法不支持DML语句的问题。

发布日期:2022-03-14

大版本:V5.4.13

小版本:16462728

类别

说明

新增

支持创建不定义主键但定义了全局二级索引的表。

缺陷修复

修复私有协议在后端连接中断时可能触发小概率死锁的问题。

修复私有协议在没有数据返回时,可能小概率丢失通知前端请求返回的问题。

修复hll非索引列问题。

修复DDL任务过大,超过16MB,导致提交失败的问题。

修复character set和collate定义中反引号处理的问题。

修复新拆分库中全局唯一索引复合唯一约束顺序可能错乱的问题。

在MPP执行模式下,支持在分区裁剪为空场景下执行报错的问题。

修复查询Schemata导致MetaDB连接泄露的问题。

发布日期:2022-01-07

大版本:V5.4.13

小版本:16415631

类别

说明

新增

支持创建数据库时指定建表的模式(新的分区表模式与老的分库分表模式),默认为分库分表模式,具体语法请参见CREATE DATABASE

支持使用MySQL分区表语法创建一级分区的分区表,分区策略包括Hash/Range/List等,详细内容请参见分区表

支持分区表的动态裁剪能力,包括支持分区列条件的常量折叠、区间合并以及前缀查询裁剪等功能。

支持分区表的JOIN计算下推。

提供分区表的分区管理能力,包括分区的添加、删除、分裂、合并与迁移等功能,详细内容请参见变更表组级分区(AUTO模式)

提供表组及其管理能力(包括表组的创建、删除、变更等),支持分区变更期间JOIN计算下推不受影响,详细内容请参见变更表组级分区(AUTO模式)

支持全局索引表使用MySQL分区表语法并按Hash/Range/List等分区策略进行分区,详细内容请参见CREATE INDEX(AUTO模式语法)

自动拆分支持使用分区表语法,详细内容请参见DRDS模式下的主键拆分

拆分变更增加支持分区表,详细内容请参见AUTO模式下的主键拆分

新分区表GSI自动拆分会携带主键,可以处理GSI热点问题。

支持实例的扩容与缩容。

支持分区表的TTL及其管理能力(包括调整TTL的初始时间与时间间隔等),详细内容请参见什么是TTL功能

SQL Advisor支持推荐广播表。

支持Instant Add Column功能。

支持Explain Statistics拉取优化器优化需要的所有信息。

支持使用SHOW [GLOBAL|LOCAL] DEADLOCKS查看最近一次死锁信息。

限制cbo的搜索空间,减少复杂查询的优化耗时。

优化

优化Check Table指令,支持校验主表分区、索引表分区与列定义等元数据的一致性。

优化部分DDL后台操作的数据校验任务的性能,使GSI/扩缩容DDL变更操作加速。

缺陷修复

修复heuristic join reorder的空指针和排序报错的问题。

修复AccessPathRule导致的RelNode rowtype错误的问题。

修复当collate为utf8mb4_0900_ai_ci时,创建GSI导致数据不一致的问题。

修复最大登录次数无法生效的问题。

修复某些block中estimateSize不准确的问题。

修复私有协议下Deciaml精度缺失的问题。

修复私有协议下执行计划传输byte和char类型对比报错的问题。

修复Alter Table Add/Drop Primary Key后索引元数据缺失的问题。

修复Alter Table期间外部中断或物理分片超时导致的表结构不一致问题。

修复Drop index所有物理分片都失败时不自动回滚的问题。

发布日期:2021-12-22

大版本:V5.4.12

小版本:16399913

类别

说明

新增

增加对debezium/maxwel同步工具的兼容。

增加探测到事务死锁后,事务自动回滚的能力。

优化

优化SPM能力,确保不受DDL影响而失效。

缺陷修复

修复包含隐式主键的insert select语句,在不下推场景下主键值未被sequence合理填充的问题。

发布日期:2021-11-25

大版本:V5.4.12

小版本:16378205

类别

说明

新增

增加ALTER TABLE校验,拒绝执行不支持ALTER TABLE校验的语句。

在主实例上引入读写分离能力。

优化

优化连接池采用三层数据源的概念影响show ds status和kill all指令的问题。

缺陷修复

修复长事务下容易出现Snapshot too old报错异常的问题。

修复带有中划线的库名在DTS导数据中报错的问题。

修复mysqldump报错问题。

修复CN发生切换主实例时,可能2个CN同时执行同一个DDL任务的问题。

修复PolarDB-X禁用Alter Table Add Foreign Key的问题。

修复后台线程无法清理审计日志的问题。

修复由于未及时维护CN和DN的映射关系,使得未合理建立连接池,导致scale out任务中断的问题。

修复统计信息涉及索引部分场景下NPE问题。

发布日期:2021-10-28

大版本:V5.4.12 hotfix

小版本:16349923

类别

说明

新增

在主实例上引入基于规则的读写分离能力。

明确set指令的支持边界,set指令暂不支持包含表达式的计算。

优化

优化死锁检测逻辑,确保陷入到死锁的事务可以被快速中止。

缺陷修复

修复sql_mode设置语句携带表达式时,导致物理建连失败的问题。

修复跨分片场景中包含limit的物理SQL由于受SQL cache的影响,存在查询结果不符合预期的问题。

修复2.0模式下新RPC协议,存储节点可能低概率出现拒绝服务的问题。

发布日期:2021-09-14

大版本:V5.4.12

小版本:16315258

类别

说明

新增

新增全新DDL执行引擎。

支持节点缩容。

优化器支持Cascades Style物理属性传递。

支持AES加解密函数。

新增自动KILL阻塞DDL的长事务的机制。

支持UPDATE拆分键为表的首列且字段类型为时间的场景。

优化

优化go-sql-driver在prepare协议下,兼容0000-00-00 00:00:00时间的问题。

优化创建聚簇索引时索引名大小写敏感的问题。

优化部分场景下INSERT SELECT的事务可见性问题。

优化DDL分表下的全并行执行策略。

优化Create/Drop Table过程中,逻辑表的可见性。

优化复杂DML过程中,由于数据过多易出现执行堆栈溢出问题。

优化START TRANSACTION READ ONLY事务策略的稳定性,确保该事务开启后禁止数据变更操作。

缺陷修复

修复date_sub函数计算异常问题。

修复高精度Decimal在特殊情况下解码出错的问题。

修复点查命中带subpart的索引时,可能触发返回过多数据的问题。

修复广播表上包含子查询的可下推单表DELETE,子查询中指定库名导致报错的问题。

发布日期:2021-07-05

大版本:V5.4.11

小版本:16251897

类别

说明

新增

支持create table like。

支持select into outfile语句,可以按指定分隔符和格式导出数据。

支持show table info from <tablename>语句,可以查看各分片的数据量。

支持SPM根据不同的参数空间选择不同plan的能力。

单表和广播表支持随机物理表名。

优化器支持Cascades搜索空间剪枝。

更加完善的HTAP能力:

  • 支持读写分离设置;

  • 支持利用SPM修正workload;

  • 支持通过Hint指定路由。

支持AliSQL秒杀热点的语法。

支持information_schema buffer相关的系统表:INNODB_BUFFER_POOL_STATS、INNODB_BUFFER_PAGE_LRU 和 INNODB_BUFFER_PAGE。

新增GENERAL_DYNAMIC_SPEED_LIMITATION参数用于动态调整GSI回填校验和scaleout的限速。

优化

优化统计信息的处理过程,增加TopN用于处理数据倾斜的情况。

优化统计信息收集过程,减少IO消耗。

优化私有协议使用原生NIO作为网络层。

缺陷修复

  • 兼容已下线的事务超时系统变量drds_transaction_timeout。

  • 执行语句alter table drop key之后元数据不一致。

  • load data导数据过程中对齐MySQL对空字符的处理语义。

  • 兼容create database对charset和collation的定义。

发布日期:2021-05-26

大版本:V5.4.10

小版本:16219368

类别

说明

缺陷修复

  • 显示设置MERGE_UNION_SIZE参数后会导致分布式事务内出现单分库多连接的风险。

  • 部分情况下事务内有读写操作时易抛出"multiple read connections are not allowed" 。

  • DELETE语句获取表名错误时未加MDL。

  • 部分场景下未能正确填充Sequence。

  • 特定字符串Collation条件下,GSI表数据不一致。

  • NOW函数在涉及事务的部分场景下的更新不及时。

发布日期:2021-05-07

大版本:V5.4.10

小版本:16202941

类别

说明

缺陷修复

  • 实例重启后,三权分立模式会失效。

  • 通过ALTER TABLE执行DROP PRIMARY KEY或ADD PRIMARY KEY操作后,元数据没有变更。

  • 部分场景下物理SQL丢失traceId

发布日期:2021-04-25

大版本:V5.4.10

小版本:16193390

类别

说明

新增

支持LOCALITY语法,用于在创建库表时指定该库表的存储节点。

支持单表、拆分表和广播表之间的相互转换。

支持GROUPING SETS、ROLLUP和CUBE语法,用于按照多组维度对查询结果进行分组。

支持基于角色(Role)的权限控制。

支持三权分立模式。

支持0~6位时间精度设置。

  • 支持包含全局二级索引的索引推荐。

  • 支持针对分布式元数据锁的死锁检测。

  • 支持在READ COMMITTED隔离级别下使用TSO事务。

  • 在计算节点和存储节点间采用了新的连接池系统。

    说明
    • 5.4.10版本发布后创建的实例支持该功能,之前创建的实例不支持。

    • 该功能默认开启,如需关闭,请联系技术支持。

  • 限制只读实例下的Sequence访问。

  • 支持通过show global variables like '%ssl%'查看SSL连接状态。

优化

  • 优化广播表查询性能,避免仅将查询路由到0库导致0库压力过大的问题。

  • 优化占用大内存SQL的执行,提升SQL执行速度。

  • 优化HashJoin、NLJoin和SemiHashJon的执行方式,使其能按流式方式执行,提升执行速度。

  • 优化查询优化器的算法,用于消除JOIN、FILTER、基于BKA(Batched Key Access)算法的IN条件中的重复条件。

  • 将默认数据库迁移任务回填限速从10 KB调整到100 KB,提升回填速度。

  • 优化SCALEOUT任务执行速度,支持SCALEOUT任务逻辑库级并发。

  • 优化部分子查询的执行速度。

缺陷修复

  • 修复当通过同一连接重建库时,导致元数据异常的问题。

  • 修复sql_mode值不合法导致SQL语句执行时会报错的问题。

  • 修复当分布式死锁出现异常时处理不当的问题。

  • 修复在MySQL高可用切换过程中,低版本的Java驱动会断连的问题。

  • 修复相关联子查询条件推导结果中缺少OR条件,导致分区裁剪结果不正确的问题。

  • 修复当多语句(即用英文分号(;)分割的SQL语句)中包含SET AUTOCOMMIT命令时,执行结果不正确的问题。

  • 修复PREPARE协议下异常传递丢失的问题及元数据获取报错的问题。

  • 修复某些情况下,当执行包含Interval函数的语句时,物理SQL会报错的问题。

  • 修复全局二级索引更新过程中报错,导致事务未释放的问题。

  • 修复为单表创建独立的关联Sequence后,当执行INSERT命令时,Sequence会不生效的问题。

  • 修复当多个逻辑库同时迁移时,概率性出现迁移任务失败的问题。

  • 修复时间类型与函数的兼容性问题,提升对时间类型数据的处理效率。

  • 修复监控中的连接数显示不正确的问题。

  • 修复ALTER TABLE语句中CONVERT TO CHARACTER SET不能同时修改GSI索引表的问题。

发布日期:2021-03-15

大版本:V5.4.9

小版本:16155600

类别

说明

新增

Binlog日志服务。

优化

提升了存储节点在分布式事务下的稳定性。

缺陷修复

  • 高并发场景下存储节点可能崩溃的问题。

  • 事务超时机制不正确导致的小概率出现前端连接断开的问题。

  • Prepare模式报错不明确的问题。

  • Prepare模式部分情况下变量没有对齐的问题。

  • 当分片数据不均时,小概率出现查询数据缺失的问题。

发布日期:2021-03-01

大版本:V5.4.9

小版本:16142062

类别

说明

新增

兼容MySQL Collation特性,新增支持若干Collation来确保SQL语句字符串排序的正确性。

支持主键拆分功能。

支持聚簇索引功能。

支持全部MySQL窗口函数。

支持局部索引智能推荐功能。

  • 支持DELETE语句为单表指定别名。

  • 支持AlTER VIEW语法。

  • 支持在SQL语句中使用_binary 'data...',来表示二进制数据。

  • 支持JOIN和DML语句中的自动全局二级索引选择。

  • 支持事务中的复杂查询。

  • PREPARE协议新增支持UNSIGNED数据类型。

  • 支持单表下推场景下的变量赋值语法。

  • 默认禁止执行未包含条件的UPDATE或DELETE语句。