课程名称:TiDB 4.0 应用开发指南 2.4 Behavior Differences Between MySQL and TiDB(TiDB 与 MySQL 的差异)
学习时长:
15 min
课程收获:
了解TiDB 与 MySQL 之间的差异
课程内容:
Part I 兼容性
协议
100%兼容MySQL 5.7 客户端/服务端 协议
语法
高度兼容 MySQL 5.7 和 MySQL 8.0 语法
语义
部分功能不支持/有区别
Part II 与MySQL的主要区别
不支持功能
存储过程/函数
触发器
事件
自定义函数
外键约束/check约束
主要特性不同之处
auto_increment
不支持现有列增加该属性
单个tidb实例
保证唯一性,自增,连续
多个tidb实例
保证唯一性,不能保证自增和连续性
索引和主键
不支持以下索引
全文索引
空间索引
部分索引特性(除了visible/invisible)
主键
整数型主键,类似MySQL聚集索引存储
其他数据类型主键,唯一索引存储
DDL
单一alter table 语句不支持多个修改
相同数据类型不支持有损变更
char(10) → char(5)
隔离级别
默认RR,实际上为SI,与 MySQL 中的RR不同
RC,只能在悲观事务中设置
其他
学习过程中参考的其他资料
- 2.4 Behavior Differences Between MySQL and TiDB(TiDB 与 MySQL 的差异)
https://university.pingcap.com/courses/TiDB%204.0%20应用开发指南/chapter/201-章节/lesson/Behavior-Differences-Between-MySQL-and-TiDB - 与 MySQL 兼容性对比
https://docs.pingcap.com/zh/tidb/stable/mysql-compatibility