tencent cloud

TDSQL Boundless

产品动态
产品简介
产品概述
应用场景
产品架构
实例类型
兼容性说明
使用规范建议
自研内核
内核概述
内核版本更新动态
功能类特性
性能类特性
产品计费
计费概述
购买方式
价格详情
续费说明
欠费说明
退费说明
快速入门
创建实例
连接实例
用户指南
数据迁移
数据同步/订阅
实例管理
参数配置
账号管理
安全组
备份与恢复
数据库审计
标签管理
实践教程
Online DDL 的技术演进与使用实践
锁机制解析与问题排查实践
数据智能调度及相关性能优化实践
TDSQL Boundless 选型指南与实践教程
开发指南
开发指南(MySQL 兼容模式)
开发指南(HBase 兼容模式)
性能调优
性能调优概述
SQL 调优
DDL 调优
性能白皮书
性能概述
TPC-C 测试
Sysbench 测试
API 文档
History
Introduction
API Category
Making API Requests
Instance APIs
Security Group APIs
Task APIs
Backup APIs
Rollback APIs
Parameter APIs
Database APIs
Data Types
Error Codes
通用参考
系统原理
SQL 参考
数据库参数说明
TPC-H 基准测试数据模型参考
错误码信息
安全与合规
常见问题
服务协议
服务等级协议
服务条款
隐私政策
数据处理和安全协议
联系我们
词汇表
文档TDSQL Boundless

SQL 语法兼容

聚焦模式
字号
最后更新时间: 2026-02-10 11:05:59

SQL 语法兼容说明

TDSQL Boundless 列存向量引擎支持大部分标准常用 SQL 查询,支持全部 TPC-H 查询。但是又有自己特性,在某些场景下会由于不支持,导致 Fallback 到 TDSQL Boundless 行存引擎执行。具体限制如下:

用户自定义的变量

向量引擎不支持用户定义的变量,当查询 SQL 中出现用户自定义变量( e.g: SELECT @myvar + col FROM table)时,该查询不通过向量引擎执行。
SET @cnt = 1;

SELECT *
FROM t1 FORCE INDEX (date_col)
WHERE
col1 + 10000000 > (@cnt := @cnt + 1)
AND date_col >= DATE('2014-04-01')
AND date_col < DATE('2014-04-01' + INTERVAL 1 DAY)
ORDER BY date_col DESC;

SELECT @cnt;

SQL_CALC_FOUND_ROWS / FOUND_ROWS()

向量引擎暂时不支持SQL_CALC_FOUND_ROWS 相关功能,带有下属关键字的 SQL 会 fallback 到 TDSQL TP 引擎执行。

WITH RECURSIVE cte

向量引擎暂时不支持 Recursive Common Table Expressions 功能,会 fallback 到 TDSQL TP 引擎执行。

UNION/UNION ALL + ORDER BY

对于 UNION/UNION ALL + ORDER BY 查询,向量引擎支持的ORDER BY字段,需要为UNION内子查询投影的字段。其他将 fallback 到 TDSQL TP 引擎执行。
--Suppoted--
SELECT a n FROM t1 UNION SELECT b n FROM t2 ORDER BY n;
--Unsuppoted--
SELECT a n FROM t1 UNION SELECT b n FROM t2 ORDER BY n * 2;

字符集和 Collation

向量引擎支持有限字符集和 Collation,其他会 fallback 到 TDSQL TP 引擎执行。
支持的字符集:"utf8", "utf8mb3", "utf8mb4", "binary"。
不支持的 Collation:"utf8_german2_ci", "utf8mb4_czech_ci", "latin1_german2_ci", "latin1_bin", "utf8mb4_lithuanian_ci", "utf8_lithuanian_ci", "utf8_czech_ci", "utf8mb4_polish_ci"。
表级限定,即只要表定义中有字段不属于上述字符集,即 fallback。
字符集兼容性:向量引擎对于字符串类型比较时,不区分大小写,区分 accent(即:case insensitive and accent sensitive)。这样对于有语调的字符串会出现与 MySQL 的 TP 结果不一致情形。举例如下:
tdsql [db1]> create table t1(c1 varchar(32), c2 varchar(32));
Query OK, 0 rows affected (0.70 sec)

tdsql[db1]> show create table t1;
+-------+-------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+-------+-------------------------------------------------------------------------------------------------------------------------------+
| t1 | CREATE TABLE `t1` (
`c1` varchar(32) DEFAULT NULL,
`c2` varchar(32) DEFAULT NULL
) ENGINE=ROCKSDB DEFAULT CHARSET=utf8mb3 |
+-------+-------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

tdsql[db1]> insert into t1 values('hello','hElLÖ');
Query OK, 1 row affected (0.02 sec)

tdsql[db1]> select * from t1;
+-------+--------+
| c1 | c2 |
+-------+--------+
| hello | hElLÖ |
+-------+--------+
1 row in set (0.00 sec)

tdsql[db1]> select c1=c2 from t1;
+-------+
| c1=c2 |
+-------+
| 1 |
+-------+
1 row in set (0.00 sec)

tdsql[db1]> set htap_routing_strategy='vector_engine';
Query OK, 0 rows affected (0.00 sec)

tdsql [db1]> set htap_query_passthrough_mode=off;
Query OK, 0 rows affected (0.00 sec)

tdsql[db1]> set htap_print_deparsed_query=on;
Query OK, 0 rows affected (0.00 sec)

tdsql[db1]> select c1=c2 from t1;
+-------+
| c1=c2 |
+-------+
| 0 |
+-------+
1 row in set, 1 warning (0.01 sec)

tdsql[db1]> show warnings;
+-------+------+-----------------------------------------------------------------------------------------------------+
| Level | Code | Message |
+-------+------+-----------------------------------------------------------------------------------------------------+
| Note | 1003 | Deparsed query is : select ("t1"."c1" = "t1"."c2" collate nocase ) AS "c1=c2" from "db1"."t1" "t1" |
+-------+------+-----------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

向量引擎相关参数

序号
变量名称
类型
说明
1
htap_avoid_some_mysql_optimizations
布尔
是否进行优化器干预,来优化向量查询,缺省(on)。
2
htap_enable_deparser_warnings
布尔
对于触发针对 VE 解析的报警,缺省(off)。
3
htap_routing_strategy
字符串
查询的策略,有如下可能:
'VECTOR_ENGINE':缺省使用向量引擎。
'DEFAULT':缺省 TP 引擎。
4
htap_query_passthrough_mode
布尔
是否进行向量引擎语义解析,为 on 时将 SQL 直接传给 VE 引擎,并取得结果。缺省(off)。
5
htap_print_deparsed_query
布尔
是否将向量解析引擎输出到日志文件,缺省(off)。
6
htap_enable_ve_execution_fallback
布尔
当向量引擎报错时,是否需要 fallback 到 TP 执行或者直接报错,缺省(on)。

帮助和支持

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

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

文档反馈