tencent cloud

TDSQL-C MySQL 版

动态与公告
产品动态
产品公告
新手指引
产品简介
产品概述
产品优势
应用场景
产品架构
产品规格
实例类型
产品功能列表
数据库版本
地域和可用区
常用概念
使用限制
使用规范建议
自研内核
内核概述
内核版本更新动态
内核优化版本
功能类特性
性能类特性
安全类特性
稳定性特性
分析引擎特性
内核问题检查与修复
购买指南
计费概述
产品价格
创建集群
变配说明
续费说明
欠费说明
退费说明
按量转包年包月
按量转 Serverless
增值服务计费说明
查看费用账单
快速入门
数据库审计
简介
查看审计实例列表
开通审计服务
查看审计日志
日志投递
配置事后告警
修改审计规则
修改审计服务
关闭审计服务
审计规则模板
查看审计任务
授权子用户使用数据库审计
Serverless 服务
Serverless 简介
创建和管理 Serverless 版集群
弹性管理工具
Serverless 资源包
多可用区部署
配置变更
常见问题
Serverless 成本预估器
操作指南
操作总览
控制台切换集群页面视图
数据库连接
实例管理
配置变更
实例形态管理
集群管理
只读实例管理
数据库代理
账号管理
数据库管理
数据库管理工具(DMC)
参数配置
多可用区部署
全球数据库
备份与恢复
操作日志
迁移数据
并行查询
列存索引 CSI
分析引擎
数据库安全和加密
监控与告警
SQL 基本操作
使用 SCF 连接 TDSQL-C MySQL 版
标签
实践教程
TDSQL-C MySQL 版数据库审计等保实践
通过 DTS 升级数据库版本 MySQL5.7至8.0
TDSQL-C MySQL 版使用规范
新版本控制台
数据库代理多连接地址实现多 RO 组
数据库代理的优势
如何选择存储空间计费模式
通过 DTS 构建异地灾备
为集群创建 VPC
如何进行数据恢复
如何解决 CPU 使用率高的问题
如何授权子用户查看监控
白皮书
安全白皮书
性能白皮书
故障处理
连接相关
性能相关
API 文档
History
Introduction
API Category
Making API Requests
Instance APIs
Multi-Availability Zone APIs
Other APIs
Audit APIs
Database Proxy APIs
Backup and Recovery APIs
Parameter Management APIs
Billing APIs
serverless APIs
Resource Package APIs
Account APIs
Performance Analysis APIs
Data Types
Error Codes
常见问题
基础概念
购买与计费
兼容与格式
连接与网络
功能特性
控制台操作
数据库表
性能与日志
数据库审计
TDSQL-C MySQL 版和云数据库 MySQL 有什么区别
相关协议
服务等级协议
服务条款
TDSQL-C 政策
隐私政策
数据处理和安全协议
通用参考
标准与认证
词汇表
联系我们

兼容性与使用限制

PDF
聚焦模式
字号
最后更新时间: 2025-10-23 19:04:19
本文为您介绍分析引擎功能的使用限制和兼容性说明。
说明:
除本文中提到的支持场景,分析引擎均不支持其他特殊场景。

产品架构与可用性差异

TDSQL-C MySQL 版的读写实例和只读实例使用 存算分离架构 实现,在弹性性能与扩展性上具备天然优势。但是分析引擎与读写实例和普通的只读实例不同。为了确保在复杂查询场景下的极致性能,分析引擎使用的是存储与计算集中架构,其数据是存储于计算节点所在的同一服务器的本地磁盘中。基于此区别需要注意存在如下差异点:
分析引擎扩缩容需要搬迁数据,故在扩缩容场景下无法与读写实例和普通只读实例的效率保持一致。
分析引擎在单节点场景下,并不具备高可用能力,若节点存在故障则会导致此分析引擎不可用。若需要分析引擎能够为您提供连续服务,请申请多节点分析引擎。

语法限制

在分析引擎中,只能执行只读的查询语句,无法对数据进行任何变更操作,包括 DDL 和 DML 操作。
在分析引擎中,仅支持 SELECT 查询语句。而 SELECT 语句中依然存在少量关键字与语法不支持,详细请见 SELECT 语句说明
在分析引擎中,支持 CTE 语法和窗口函数。但使用 CTE 语法和窗口函数依然存在部分限制,详细请见 CTE 语法使用说明窗口函数使用说明
分析引擎,暂时不支持全文检索语法。
分析引擎暂时不支持自定义函数与存储过程。
如 TDSQL-C MySQL 集群开启了分析引擎,则在“读写实例”中进行某些数据变更操作会导致分析引擎的数据加载出现异常,详细说明请参考 数据加载限制

表限制

分析引擎在不同版本中建议最多表数量存在
1.2404.x:最多表数量为2000个。
2.2410.x:最多表数量为20000个。
分析引擎对于分区表的支持范围和场景有限,详细可参考 数据加载限制
分析引擎针对数据类型支持有限,当存在不支持的数据类型时,表将无法加载至分析引擎,详细可参考 数据类型

值限制

在分析引擎中,默认普通列的值大小限制为16MB。若存在列值超过16MB的表,则在尝试将其加载到分析引擎时会报错暂停。此时 提交申请 来修改普通列支持的最大大小

SQL_MODE

和 MySQL 类似,分析引擎支持通过 SET [ SESSION | GLOBAL ] sql_mode='modes' 语句设置 SQL 模式来设置全局或者会话级别的 SQL Mode。也可以通过 SELECT @@sql_mode 来查询当前 SQL 的 SQL Mode。
分析引擎支持如下常见的 MySQL 系统 SQL_MODE,未提到的 SQL_MODE 均不支持。但需要注意的是虽然分析引擎支持这些 SQL_MODE,但是部分 SQL_MODE 在分析引擎中并不适用,如 NO_AUTO_CREATE_USER、NO_ENGINE_SUBSTITUTION 等。
名称
含义
PIPES_AS_CONCAT
将 || 视为字符串连接操作符 (+)(同 CONCAT()),而不视为 OR。
ANSI_QUOTES
将 " 视为识别符,如果启用 ANSI_QUOTES,只有单引号内的会被认为是 String Literals,双引号被解释为识别符,因此不能用双引号来引用字符串。
IGNORE_SPACE
若开启该模式,系统忽略空格。例如:“user”和“user ”是相同的。
ONLY_FULL_GROUP_BY
如果未被聚合函数处理或未被 GROUP BY 的列,出现在 SELECT、HAVING、ORDER BY 中,此 SQL 不合法。
NO_UNSIGNED_SUBTRACTION
在减运算中,如果某个操作数没有符号,不要将结果标记为 UNSIGNED(支持)。
NO_BACKSLASH_ESCAPES
若启用该模式,\\ 反斜杠符号仅代表它自己。
STRICT_TRANS_TABLES
对于事务存储引擎启用严格模式,insert 非法值之后,回滚整条语句。
STRICT_ALL_TABLES
对于事务型表,写入非法值之后,回滚整个事务语句。
NO_ZERO_IN_DATE
在严格模式时,不接受月或日部分为0的日期。如果使用 IGNORE 选项,我们为类似的日期插入“0000-00-00”。在非严格模式时,可以接受该日期,但会生成警告。
NO_ZERO_DATE
在严格模式时,不要将“0000-00-00”作为合法日期。您仍然可以用 IGNORE 选项插入0日期。在非严格模式时,可以接受该日期,但会生成警告。
ALLOW_INVALID_DATES
不检查全部日期的合法性,仅检查月份值是否在1至12之间,以及日期值是否在1到31之间,仅适用于 DATE 和 DATATIME 列,TIMESTAMP 列需要全部检查其合法性。
ERROR_FOR_DIVISION_BY_ZERO
启用该模式,在 INSERT 或 UPDATE 过程中,被除数为0值时,系统产生错误。若未启用该模式,被除数为0值时,系统产生警告,并用 NULL 代替。
REAL_AS_FLOAT
将 REAL 视为 FLOAT 的同义词,而不是 DOUBLE 的同义词。
NO_DIR_IN_CREATE
创建表时,忽视所有 INDEX DIRECTORY 和 DATA DIRECTORY 指令,该选项仅对从复制服务器有用。
NO_AUTO_CREATE_USER
防止 GRANT 自动创建新用户,但指定密码除外(但是在分析引擎中没有实际作用)。
NO_ENGINE_SUBSTITUTION
如果需要的存储引擎被禁用或未编译,可以防止自动替换存储引擎(但是在分析引擎中没有实际作用)。

字符集和排序规则

字符集(character set)是符号与编码的集合。分析引擎中的默认字符集是 utf8mb4。
排序规则(collation)是在字符集中比较字符以及字符排序顺序的规则。例如,在二进制排序规则中,比较 A 和 a 的结果是不一样的。
目前分析引擎支持的字符集和排序规则如下表:
字符集
描述
支持的排序规则
最大大小
utf8
UTF-8 Unicode
utf8_bin
3
utf8mb4
UTF-8 Unicode
utf8mb4_bin
4
注意:
当读写实例中的对象采用其他字符集时,对于数据加载至分析引擎不受任何影响,但是某一些特殊字符在分析引擎中进行查询时将存在异常,同时也会因为排序规则的不同导致排序结果不一致的情况出现。

其他行为说明

在分析引擎中执行 SELECT …… GROUP BY expr 的返回结果与 MySQL 8.0 保持一致,默认不排序,与 MySQL 5.7 会有一定区别,MySQL 5.7 会默认排序。因此,无论是在 MySQL 5.7 版本还是 MySQL 8.0 版本中构建的分析引擎,都是如此的逻辑。

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈