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 基准测试数据模型参考
错误码信息
安全与合规
常见问题
服务协议
服务等级协议
服务条款
隐私政策
数据处理和安全协议
联系我们
词汇表

创建同步表

PDF
聚焦模式
字号
最后更新时间: 2026-03-06 18:48:24

概述

同步表(sync table)是 TDSQL Boundless 利用多副本提升性能的手段之一。与普通表不同,同步表会在集群的每一个节点上创建一个副本,且每一个副本都能提供强一致性读服务。这使得多个副本的能力都能被有效利用,大大增加了同步表的读取吞吐能力。

适用场景

同步表的修改会通过 Leader 强同步给所有副本,并在所有副本都修改完成后才返回给客户端,而普通表的写请求只需要成员副本达到多数派后即可返回。相对普通表,同步表的写入能力会受到一定限制。因此,同步表适合于读多写少的业务场景。

使用限制

目前同步表以广播表的形式对外提供服务,用户必须创建广播同步表来使用同步表。
任意一个 Follower 副本故障,可能导致写请求卡顿一个租约的时间。
读请求路由策略本地优先,本地访问失败则访问 Leader 。
目前暂不支持同步表的属性变换,即不支持从同步表变为非同步表,也不支持从非同步表变为同步表。
同步表不能是分区表。
广播同步日志流一旦被创建出来后就不会再被销毁,即使用户删除所有的同步表。
副本个数过多会导致写请求性能下降。

语法与示例

语法

CREATE TABLE table_name (
column_definitions
) sync_level = node(all) distribution = node(all);
同步表的读写访问语法和普通表保持一致。但读取时,具体访问的节点和连接有关。具体来说,TDSQL Boundless 会优先访问连接所在的本地节点的同步表副本,只有当本地节点不可读时(例如 lease 过期),才会退化为访问 Leader 节点。

示例

以创建一个用户表为例
CREATE TABLE `user_center`.`user_profiles` (
`user_uuid` varchar(36) NOT NULL,
`nick_name` varchar(50),
`register_time` datetime,
PRIMARY KEY (`user_uuid`)
) SYNC_LEVEL = NODE(ALL) DISTRIBUTION = NODE(ALL);

常见问题 (FAQ)

Q: 建表语法中的“SYNC_LEVEL = NODE(ALL) DISTRIBUTION = NODE(ALL)”分别代表什么?

A: SYNC_LEVEL = NODE(ALL)表示同步级别,修改需要同步到所有 node;DISTRIBUTION = NODE(ALL) 表示分布规则,每个节点上都要分布一个副本。

Q: 可以不指定 ALL,指定部分吗?

A: 目前不支持指定副本,只支持 ALL。

Q: 建同步表可以不指定DISTRIBUTION = NODE(ALL)吗?

A:目前不支持,同步表目前只支持在所有节点上都创建一个副本。




帮助和支持

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

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

文档反馈