【TiDB 4.0 PCTA 学习笔记】- 2.4 Behavior Differences Between MySQL and TiDB(TiDB 与 MySQL 的差异)@2班+唐少

课程名称:课程版本(201)+ TiDB 与 MySQL 的差异

学习时长:15分钟

课程收获:TiDB与MySQL兼容性以及差异特性

课程内容:

1、与MySQL兼容性

  • 协议兼容:client/server,mysql生态工具都可以直接连接到TiDB
  • 语法兼容:MySQL 5.7和8.0大部分语法支持,包括DDL、DML
  • 语义兼容:有一部分特性不支持,包括cluster index

2、与MySQL区别主要特性

  • 暂时不支持:存储过程、自定义函数、触发器和事件、外键约束
  • auto-increment在TiDB上有限制,单个TiDB上保证唯一性、自增性和连续性,多个节点上只能保证唯一性
  • index:不支持全文索引、空间索引
  • 主键:使用唯一索引模拟主键行为
  • 不支持同一语句修改多个column
  • 不支持有损变更,需要对表内所有数据TRUNCATE再回填
  • 隔离级别默认是RR,实际是snapshot隔离级别;事务的RC,只能读事务已提交的事务;RC只能在悲观事务下设置
  • View只读,不支持inser/update/delete
  • EXPLAIN语句输出和MySQL差异很大

学习过程中参考的其他资料