PolarDB MySQL版8.0.2版本发布日志

更新时间: 2023-09-20 11:14:40

本文将详细介绍PolarDB MySQL版8.0.2版本的更新日志和全部的功能特性。

8.0.2.2.18

类别

说明

发布时间

问题修复

修复删除相同的SQL语句类型中,最后一个只填写了keyword而没有schema和table的CCL规则时,可能导致节点崩溃的问题。

2023-09-17

8.0.2.2.17

类别

说明

发布时间

新增功能和性能优化

提高将冷数据以CSV格式归档至OSS时的归档速度。

2023-08-23

问题修复

  • 修复用户同时打开全局一致性(高性能模式)和弹性并行查询(ePQ)功能时,可能触发Table definition has changed错误的问题。

  • 修复Index condition pushdown场景下,SQL语句的扫描行数统计不准确的问题。

  • 修复在全文索引中使用短语搜索(Phrase search)模式时,导致节点崩溃的问题。

  • 修复当读写节点(RW)执行完undo truncate时,新连接的RO节点会崩溃的问题。

8.0.2.2.16.1

类别

说明

发布时间

问题修复

  • 修复后台线程CPU占用过高的问题。

  • 修复OSS Sever的AK信息损坏时,可能出现无法启动集群的问题。

2023-07-25

8.0.2.2.16

类别

说明

发布时间

新增功能和性能优化

  • 支持使用列存索引查询分区表中指定分区的数据。

  • 支持列存索引使用InnoDB引擎中的主索引进行加速查询。

  • 对单表做UPDATE或DELETE操作时,支持将IN子查询转换为Semi-Join子查询。

  • Join查询中,支持将标量子查询转换为物化表。

  • 支持对InnoDB引擎中的分区表使用Fast Query Cache功能。

  • 创建OSS外表时不会自动创建隐式自增主键。

  • 支持在UNIQUE CHECK IGNORE=1的分区表上创建全局二级索引。

  • 新增参数innodb_polar_import_tablespace_strict_mode,默认值为ON,即执行库表恢复操作时,表结构中包含full-text index会报错。

2023-07-23

问题修复

  • 修复CTE中包含嵌套CTE,且有多处引用的情况下,JPPD优化功能崩溃的问题。

  • 修复对混合分区表执行库表恢复操作时,恢复失败的问题。

  • 修复关闭主节点并重启时,备节点未触发重连机制的问题。

  • 修复故障恢复过程中,进程低概率再次中断的问题。

  • 修复在UNIQUE CHECK IGNORE分区表中插入数据时,插入错误分区的问题。

8.0.2.2.15

类别

说明

发布时间

新增功能和性能优化

  • 读写(RW)节点和只读(RO)节点之间支持通过RDMA网络进行日志传输。

  • 支持将带有自增列的分区表和普通表归档至OSS。

  • 联邦查询引擎支持将Order语法下推至远端数据库,Order语法与Limit Offset结合使用以降低网络代价。

  • 支持在混合分区表(InnoDB+ORC)上创建列存索引。

  • 新增ALTER TABLE table_name CHANGE PARTITION partition_name ENGINE=CSV/ORC FORCE;语法。

  • 优化Thread Pool处理短链接的性能。

  • DLM功能支持将分区表中的InnoDB分区归档至OSS。

  • 支持删除和增加混合分区表中InnoDB分区。

2023-06-28

问题修复

  • 修复使用列存索引进行查询时,使用的临时文件写满磁盘后不能及时中断查询并清理文件的问题。

  • 修复重复执行存储过程时,参数不生效的问题。

  • 修复普通用户可以删除sys的问题。

  • 修复并发记录慢查询日志的过程中,Thread Pool内部计数器异常可能造成SQL请求堆积的问题。

  • 修复HA后,对分区表执行库表恢复时,节点异常重启的问题。

  • 修复checkpoint LSN推进不符合预期的问题。

  • 修复在RW节点执行ALTER TABLE ... IMPORT TABLESPACE操作的同时,在RO节点执行查询操作可能会报错的问题。

8.0.2.2.14

类别

说明

发布时间

新增功能和性能优化

  • 新增主键数据切片函数call dbms_dts.show_parallel_ranges (<schema_name>, <table_name>, [<suggestion_ranges>])

  • 允许在多主集群的全局RO节点上开启列存索引功能。

  • 支持在虚拟列上创建列存索引。

  • 支持对创建列存索引的表使用回收站功能。

  • 新增抢占式DDL功能。

  • 新增分区归档命令ALTER TABLE table_name CHANGE PARITION part_name ENGINE = 'csv';

  • 新增行级压缩功能。

  • 优化OSS查询能力。即开启弹性并行查询功能后,当系统的loose_csv_max_oss_threads参数值大于1时,直接进行并行查询。

  • 优化OSS外表文件格式错误的报错信息内容。

  • 支持读取OSS上的ORC格式的数据,以及将ORC格式的数据写入OSS。

  • 优化拼写错误的报错信息内容。

2023-05-24

问题修复

  • 修复在RO节点回放宽表的Redo日志时,出现复制延迟的问题。

  • 修复查询混合分区表时使用order index优化,节点会崩溃的问题。

  • 修复截断混合分区(truncate hybrid partition)时,节点会崩溃的问题。

  • 修复查询语句中含有窗口函数时,使用Limit Offset下推优化功能导致查询结果错误的问题。

  • 修复OSS无法并行执行的问题。

  • 修复OSS无法读取JSON文件的问题。

  • 修复engine拼写错误的问题。

  • 修复读取CSV格式的OSS冷数据时,可能只读取到第一个文件的问题。

  • 修复带\n的数据,通过DLM归档后无法读取的问题。

  • 修复冷数据归档后,OSS上可能会残留临时文件的问题。

8.0.2.2.13

类别

说明

发布时间

新增功能和性能优化

  • 新增条件下推(WHERE to Derived Tables)功能。

  • 优化扫描回收站内表时的内存消耗。

  • 支持在只读节点查询gtid信息。

  • 列存索引支持以重建列存索引数据的方式秒级加列。

  • 列存索引支持REGEXPR函数。

  • 列存索引支持基于IS NULL和IS NOT NULL相关的判断条件进行裁剪优化。

  • 支持使用并行DDL来并行创建全局二级索引。

  • 支持在已创建全局二级索引的分区表上使用秒级加字段功能。

  • Hint Plan新增Hint种类BNL、BKA和MRR。

  • SQL Sharing中新增变量by_expr_ignore_charset。将by_expr_ignore_charset设置为ON后,会消除不同字符集下含Order By或Group By语句生成的digest差异。但设置为ON后, 所有在该模式下生成的digest值都会与设置为ON之前生成的digest值不同。

  • Statement Outline功能新增接口dbms_outln.add_optimizer_outline('schema', 'hints', 'query') ,用于添加Optimizer Hints。

  • 支持将已创建全局二级索引的表转换为INTERVAL RANGE分区表,同时支持在INTERVAL RANGE分区表上创建全局二级索引。

  • 新增AlTER TABLE table_name CHANGE PARTITION partition_name ENGINE = 'csv';命令,用于将分区表上指定分区的全部数据归档到OSS。

  • 当没有添加Statement Outline时,执行SQL语句不再计算SQL语句的Digest值。

  • 非阻塞DDL支持使用OPTIMIZE TABLETRUNCATE TABLE语句。

2023-04-21

问题修复

  • 修复在只读节点建立物理复制时出现读超时,而无法连接数据库的问题。

  • 修复当engine_condition_pushdown参数值设置为true时,带有NULL字段的表下推不正确的问题。

  • 修复执行ALTER TABLE engine = csv storage oss, force; 命令时,无法删除OSS上源文件的问题。

  • 修复对空的OSS外表执行check操作时,数据库节点崩溃的问题。

8.0.2.2.12

类别

说明

发布时间

新增功能和性能优化

  • 新增非阻塞DDL功能。

  • 新增SQL Trace功能。

  • 新增SQL Detail功能。

  • 新增Auto Plan Cache功能。

  • 新增列存索引功能。

  • 当使用Statement Outline过程中指定的Index Hints不存在时,不直接进行报错,只报告警。

  • 在慢日志扩展数据中展示执行计划。

  • 全局一致性(高性能模式)新增Innodb_scc_timeout_count参数,用于记录查询过程中的超时次数。

  • 全局一致性(高性能模式)新增Innodb_scc_timeout_degrade_count参数,用于记录查询超时转异步查询的次数。

  • 支持adaptive digest length,即statement digest计算的内存空间可以随着查询语句的长度自适应调整。

  • 并发控制CCL(Concurrency Control)新增ccl_mode参数,即当数据库访问流量达到并发控制上限后,拒绝其他访问当前集群的请求。

  • 内置存储过程支持使用以@开头的变量作为输入值。

  • 优化PolarFS内部的锁粒度,大幅提升部分高负载场景下的性能。

2023-03-20

问题修复

  • 修复在热备节点或只读节点上增删CCL规则或Statement Outline时,不进行报错的问题。

  • 修复在主节点执行SHOW SLAVE HOSTS语句时,导致集群崩溃的问题。

8.0.2.2.11.1

类别

说明

发布时间

新增功能和性能优化

  • 支持Schema_name为空的Statement Outline匹配所有与其Digest值相等的SQL语句。

  • 新增参数loose_group_by_compatible_sorting,用于控制是否开启Group By排序兼容模式。

2023-02-21

问题修复

  • 修复在分区表上使用DDL语句时,可能会访问非法内存的问题。

  • 修复手动和自动归档冷数据过程中会记录Binlog的问题。

8.0.2.2.11

类别

说明

发布时间

新增功能和性能优化

  • 当分区表达式包含自增列(AUTO INCREMENT)时,支持用户指定该列的值,并根据该指定的值进行分区裁剪。

  • 创建LIST DEFAULT HASH分区表的add partition语法中支持使用without validation选项来添加LIST分区 。

2023-02-20

8.0.2.2.10

类别

说明

发布时间

新增功能和性能优化

  • 手动归档冷数据支持alter table engine语法。通过Alter Table table_name engine = csv connection = 'default_oss_server'命令可以指定冷数据表归档到OSS上。

  • 普通表转换为分区表的语法增加without validation选项。语法如下:Alter table t1 partition by range(a) (partition p0 values less than (100), partition p1 values less than (200)) without validation

  • 基于代价的计算支持将物化的derived table的外层连接条件,下推到derived table内部。

  • 支持将带有IN-List的谓词条件转换为临时表,与from子句中的查询进行semi-join,并通过zero-copy方式避免重复物化的开销。

  • 支持将having中的条件下推到where条件中。

  • 二级分区支持在分区级的MDL锁下,执行DDL操作并降低锁粒度。DDL执行期间仅影响被变更的分区,其他分区的DML操作不受影响。

2023-01-09

问题修复

  • 开启TDE时,关闭对系统表的加密操作,不允许对系统表进行加密。

  • 调整物理复制连接相关的超时参数,以避免出现物理机故障时卡顿的问题。

8.0.2.2.9

类别

说明

发布时间

新增功能和性能优化

  • 忽略dbms_ccl.add_ccl_digest_ruledbms_outln.add_index_outlinedbms_outln.add_optimizer_outline内置存储过程中参数query中的SQL语句结尾的分号。

  • 将MEMBER关键字修改为非保留关键字。

  • 支持Partial Result Cache功能。

  • 优化器的join消除功能支持对left join的内表(包括有多层嵌套join以及Semi-Join的内表)进行消除。

  • 联邦查询引擎支持将所有兼容的条件下推到远端服务器执行,且仅返回查询所需要的列。

  • 联邦查询引擎支持将Limit Offset语法下推至远端数据库执行。

2022-12-23

问题修复

修复在创建Server的语法中不能使用IF NOT EXISTS的问题。

8.0.2.2.8

类别

说明

发布时间

新增功能和性能优化

  • 支持在分区表的部分分区上创建索引,即支持在分区表上以分区粒度创建、删除和重建索引。

  • 支持在分区级的MDL锁下,执行REBUILD PARTITION和REORGANIZE PARTITION操作,使得在对某个分区执行DDL操作期间,其他分区的DML操作不受影响。

  • 不再以明文格式存储和显示mysql.servers表中的用户名和密码。

    说明

    已有的Server的用户名和密码在升级后不会被加密,需要您手动删除后重新创建。

  • 新增SELECT INTO OSSOUTFILE语句,用于将本地表(PolarFS上的表)导出至OSS。

  • 支持热备切换功能。

  • 新增DLM老化功能,您可以定期将老化的数据存储到低成本存储介质上。具体请参见生命周期管理(DLM)

  • 新增dynamic_partition_prune_enabled参数,用于控制动态分区裁剪功能。该功能开启后,在含有分区表的多表关联查询场景中,当连接条件满足分区裁剪条件时,可以减少不必要的分区扫描,从而提升查询性能。

  • 支持在分区表与普通表之间使用partition-wise join技术,大幅提升大数据量下分区表与普通表的join效率。

  • Statement Outline支持所有的UNION子句。

  • 支持在访问分区表中的某一个分区时,使用LIMIT OFFSET下推功能。

2022-11-30

问题修复

  • 修复并行优化器中GROUP BY字段唯一值个数估算不准确的问题。

  • 修复热升级时,执行SQL语句会记录Binlog的问题。

8.0.2.2.7

类别

说明

发布时间

新增功能和性能优化

  • 弹性多机并行(ePQ)支持跨机查询OSS上的外表数据。

  • 支持在分区表上使用全局二级索引。

  • 支持在含有SJM(Semi-join Materialization)的查询中使用多阶段多机并行查询。

2022-10-25

问题修复

  • 修复limit1提前结束导致的ERROR 1028 (HY000): Sort aborted: Query execution was interrupted问题。

  • 修复通过定时任务写隐式主键可能导致节点崩溃的问题。

  • 修复弹性多机并行(ePQ)下count(distinct ...) 结果集不正确的问题。

  • 修复查询条件中存在DATE和DATETIME类型时,可能导致并行查询的查询结果集错误的问题。

8.0.2.2.6.1

类别

说明

发布时间

问题修复

修复了RO节点因文件名哈希值冲突导致的崩溃问题。

2022-09-17

8.0.2.2.6

类别

说明

发布时间

新增功能和性能优化

  • 线程池优化:数据库事务在等待元数据信息锁或行锁时,线程池可以产生额外的线程来处理新的请求。

  • 增强CCL支持DDL限流。

  • 通过异步写入临时文件来加速DDL重新构建数据的过程。

  • 提升高并发下thread pool性能。

  • 在创建OSS server的语法中新增oss_sts_token参数,用于配置OSS的临时访问凭证。

2022-08-19

问题修复

修复查询中同时存在Limit offset pushdown和MRR优化时返回结果错误的问题。

8.0.2.2.5.1

类别

说明

发布时间

新增功能和性能优化

  • 支持创建混合分区表。具体请参见创建混合分区

  • 只读节点支持自定义内存临时表(目前只支持MEMORY引擎和MyISAM引擎)。

  • 支持ReadableProto功能。通过指明Protobuf协议,在数据库上可以直接读取序列化存储在BLOB类型字段上的信息。

  • 优化DDL排序:二路归并改为多路归并来减少IO次数,提升DDL加索引的性能。

  • 在创建OSS server的语法中新增oss_prefix参数,用于配置OSS文件路径。

2022-07-22

问题修复

  • 修复group_by_implicit_sorting在选择group by列的索引时,并发执行结果无序的问题。

  • 修复通过EXPLAIN FORMAT=TREE语句来显示Hash Join结果中costrows错误的问题。

  • 修复集群低负载下的物理复制延迟过大的问题。

  • 修复Buffer Pool脏页过多,且刷脏缓慢的场景下,LRU List清理受阻导致无法释放Page的问题。

  • 修复了instant add column后回滚Update操作时产生的记录过长,进而导致数据库崩溃的问题。

8.0.2.2.4

类别

说明

发布时间

新增功能和性能优化

支持用户创建和使用Federated引擎表。

2022-05-31

问题修复

  • 修复当索引前缀存在多组数据时,SKIP_SCAN扫描结果集可能错误的问题。

  • 修复数据库中的数据设置了删除标记后,SKIP_SCAN扫描结果集错误的问题。

  • 修复Fast Query Cache在RO节点获取MDL锁导致Redo日志同步阻塞的问题。

8.0.2.2.3

类别

说明

发布时间

问题修复

修复Using index for group by结果错误的问题。

2022-04-19

8.0.2.2.2

类别

说明

发布时间

新增功能和性能优化

  • PolarDB的并行查询支持多机并行执行引擎。针对单个查询,可以将部分或全部Workers调度到远程节点执行,从而拉起集群内多个节点的计算资源。 具体如下:

    • 并行查询的并行度可以突破单机瓶颈,加速大查询等分析类查询。

    • 根据全局资源负载,将查询调度到空闲节点上执行来加速查询,提升资源利用率。

    • 用户可以组建多个集群组,形成计算资源池,从而实现更灵活的计算资源弹性能力。

  • 并行查询参数parallel_query_switch添加开关restrict_on_limit_without_order,该开关用于控制没有order by的limit并行查询。

  • 支持条件下推到物化派生表。

2022-03-31

8.0.2.2.1

类别

说明

发布时间

新增功能和性能优化

2022-03-15

问题修复

  • 修复history list无法被删除导致undo log膨胀的问题。

  • 修复通过CREATE TABLE .. LIKE.. LIST DEFAULT HASH创建分区表时失败的问题。

  • 修复UNIQUE CHECK IGNORE在系统表mysql.tables中的展示问题。

8.0.2.2.0

类别

说明

发布时间

新增功能和性能优化

  • 并行查询能力提升。将线性加速能力提升了一个等级,引入了多阶段并行计算能力。具体请参见概述

  • 分区表能力增强。支持更多的分区表类型,并且支持Interval分区。具体请参见分区表

  • 支持子查询解关联。

  • 与PolarProxy联动,支持通过存储过程定义敏感字段,并对敏感字段取值的元数据进行打标。

  • 增加STATUS变量Online_altered_partition来统计通过online进行ALTER TABLE ADD PARTITIONALTER TABLE DROP PARTITION操作的次数。

  • 数据库内核支持事务断点续传和只读节点读取未提交的事务。

2022-01-12

问题修复

  • 支持SELECT FOR UPDATE WAIT NSELECT FOR SHARE WAIT N语法。 其中,N表示等待超时的秒数,针对单个行锁。如果一个查询需要锁定多行,不会对时间进行累计,仅对单行进行超时检测。等待时间超过N秒,则返回锁等待超时错误Lock wait timeout exceeded; try restarting transaction

  • 修复优化器针对部分GROUP BY语句未选择更优的索引范围路径的问题。

  • 修复group_concat_max_len参数取值较大时,出现算术溢出导致GROUP_CONCAT函数结果错误的问题。

  • 支持修改数据库缓存大小。

  • 避免对分区表分区的不必要遍历,提升查询效率。

  • 修复对加密表执行DDL操作失败的问题。

  • 优化master_key_id_mutex,使得DDL操作可以并行执行。

  • 修复了只读节点在高并发压力很大时,replay log崩溃的问题。

  • 修复了只读节点在进行物理复制,高并发压力很大时,崩溃在m_recv_bits.is_set(fold)的问题。

8.0.2.1.4.1

类别

说明

发布时间

新增功能和性能优化

innodb_adaptive_hash_index参数的默认值由ON改为OFF

2021-10-26

问题修复

支持修改数据库缓存大小。

8.0.2.1.4

类别

说明

发布时间

新增功能和性能优化

支持官方MySQL 8.0.20的Index Hints功能。

2020-12-01

问题修复

  • 修复Hash Join并行的一个稳定性问题。

  • 修复统计信息中关于每个索引key对应行数估算错误的问题。

  • 修复并行扫描共享临时表时,处理空数据出现错误的问题。

  • 修复官方REGEXP_REPLACE函数处理数据出现错误的问题。

  • 修复官方对于复杂查询中包含子查询常量的崩溃问题。

  • 修复filesort返回错误数据的问题。

8.0.2.1.3

类别

说明

发布时间

新增功能和性能优化

  • 增强Hash Join的代价估算模型性能。

  • 支持并行Hash Join,即Build和Probe阶段的并行。

2020-10-26

问题修复

  • 修复并行执行计划中并行分区数量错误显示的问题。

  • 修复并行子查询的一个异常崩溃问题。

  • 修复在并行查询中使用RAND() 函数时,多个工作线程不能产生随机结果的问题。

8.0.2.1.2

类别

说明

发布时间

新增功能和性能优化

PolarDB并行全面支持最新的火山模型迭代执行器。

2020-09-27

8.0.2.1.1

类别

说明

发布时间

新增功能和性能优化

优化集群的写性能。

2020-08-26

问题修复

修复内存泄漏问题。

8.0.2.1.0

类别

说明

发布时间

新增功能和性能优化

  • EXPLAIN支持并行计划的展示,支持通过FORMAT=TREE查看并行的执行计划树。

  • 并行查询支持哈希连接,增强了无索引的JOIN性能,详情请参见Hash Join的并行执行

  • 支持Resource Manager功能,能够实现对CPU和内存资源的监控,详情请参见Resource Manager

  • 支持Performance Agent,能够实现PolarDB MySQL版集群中的节点内部各项性能数据的采集与统计,您可以通过直接查询内存表PERF_STATISTICS获取相关指标的性能数据,详情请参见Performance Agent

  • 新增持久缓存池(Warm Buffer Pool),在Crash重启和升级时,Buffer Pool中的数据依然存在,大幅度加快重启速度,并保持重启后性能无衰减。

2020-07-22

阿里云首页 云原生数据库 PolarDB 相关技术圈