xuanyuan
(Xuanyuan)
1
课程名称:2.4 Behavior Differences Between MySQL and TiDB(TiDB 与 MySQL 的差异)
学习时长:15min
课程收获:TiDB 和 MySQL 在语法、功能和行为上的主要差异
课程内容:
- 兼容性概览
- 协议
- 100%兼容MySQL5.7协议
- Client/Server 协议
- 可以使用MySQL生态系统工具
- 语法
- 大多数MySQL5.7和8.0语法高度兼容
- DDL
- DML
- …
- 语义
- 一些特性不同或不支持
- 不支持是因为
- 在分布式环境下很难实现
- 尚未实现
- 低回报(low ROI)
- …
- 不同
- auto_increment
- storage engine
- …
- 与MySQL不同的主要特性
- 不支持特性
- 存储过程和函数
- 触发器
- 事件
- UDF
- 外键约束和Check约束
- 不同
- auto_increment
- auto_increment限制
- auto_increment语义
- 索引
- 不支持全文索引
-
- 不支持spatial index
不支持一些索引选项(除了visible/invisible)
- 主键
- 不支持multi-schema change,即不能在同一个语句中同时修改多个列
- 不支持有损变更
- 隔离级别
- 默认可重复读
- 使用快照隔离实现
- 和MySQL的可重复度有轻微不同
- 读提交
- analyze table
- 视图
- 存储引擎
- SQL层的“storage=xxx”会被忽略
- 在启动时声明存储引擎: --store
- 字符集
- 只支持:utf8, utf8mb4, ascii, latin1以及二进制
- 执行计划
学习过程中参考的其他资料