与 MySQL 兼容性对比 Performance schema 主要使用Prometheus 体系产品来存储及查询相关的性能监控指标,所以 Performance schema 部分表是空表。 查询计划 执行计划在输出格式、内容、权限设置方面与MySQL 有较大差别。 系统变量optimizerswitch 是只读的,对查询计划没有影响。 内建函数 支持常用的MySQL 内建函数,有部分函数并未支持。可通过执行 SHOW BUILTINS 语句查看可用的内建函数。 DDL 的限制 所有支持的DDL 变更操作都是在线执行的,且存在以下限制: 使用 ALTER TABLE 语句修改一个表的多个模式对象(如列、索引)时,不允许在多个更改中指定同一个模式对象。例如,ALTER TABLE t1 MODIFY COLUMN c1 INT, DROP COLUMN c1在两个更改中都指定了c1列,执行该语句会输出 Unsupported operate same column/index 的错误。 不支持使用单个 ALTER TABLE 语句同时修改多个特有的模式对象,包括TIFLASH REPLICA,SHARDROWIDBITS,AUTOIDCACHE 等。 ALTER TABLE 不支持少部分类型的变更。比如,不支持从 DECIMAL 到 DATE 的变更。当遇到不支持的类型变更时,将会报 Unsupported modify column: type %d not match origin %d 的错误。 ALGORITHM{INSTANT,INPLACE,COPY} 语法只作为一种指定,并不更改ALTER 算法。 不支持添加或删除 CLUSTERED 类型的主键。 不支持指定不同类型的索引 (HASHBTREERTREEFULLTEXT)。若指定了不同类型的索引,会解析并忽略这些索引。 分区表支持 HASH、RANGE、LIST 和 KEY 分区类型。KEY分区类型暂不支持分区字段列表为空的语句。对于不支持的分区类型,会报 Warning: Unsupported partition type %s, treat as normal table 错误,其中%s 为不支持的具体分区类型。 Range、Range COLUMNS、List、List COLUMNS 分区表支持 ADD、DROP、TRUNCATE、REORGANIZE 操作,其他分区操作会被忽略。 Hash 和 Key 分区表支持 ADD、COALESCE、TRUNCATE 操作,其他分区操作会被忽略。 不支持以下分区表语法: SUBPARTITION {CHECKOPTIMIZEREPAIRIMPORTDISCARDREBUILD} PARTITION