课程名称:2.4 TiDB 与 MySQL 的差异
学习时长:11
课程收获:了解 TiDB 和 MySQL 在语法、功能和行为上的主要差异
课程内容:
1、兼容性概览
(1)协议
主要是Client/Server协议,MySQL上的生态工具绝大多数都可以兼容TiDB
Client:PHP\Navicat、MySQL WORKBENCH
Data Migration tool:mysqldump、mydumper
commector:MySQL connectors
(2)语法
支持MySQL5.7/8.0的绝大多数语法
(3)语义
有些语义不支持的原因:在分布式环境下不容易实现,有设计但是没有完全实现
语义和MySQL有区别:auto_increment、storage engine
2、和MySQL有区别的特性
(1)暂时不支持的功能
存储过程和自定义函数
触发器
事件
约束
(2)和MySQL有差异的功能
a.auto_increment
auto_increment限制
将auto_increment属性加入到已经存在的列上面是不支持的
它的语义与MySQL也有区别
auto_increment只能保证唯一性,不能保证自增性
全文索引和空间索引不支持
不支持修改多个schema,不支持修改某一列的类型(char(10)→char(5),varchar(255)→varchar(10))
隔离级别在TiDB中默认是REPEATABLE READ
Analyze table
view是只读,不支持写操作
storage engines
charsets,只支持utf8、utf8mb4、ascii、latin1、binary
execution plan,执行计划输出和MySQL不一样