TiDB与MySQL兼容性对比
- TiDB支持MySQL传输协议及其绝大多数的语法。这意味着您现有的MySQL连接器和客户端都可以继续使用。大多数情况下您现有的应用都可以迁移至 TiDB,无需任何代码修改。
- 当前TiDB服务器官方支持的版本为MySQL5.7。大部分MySQL运维工具(如PHPMyAdmin, Navicat, MySQL Workbench等),以及备份恢复工具(如 mysqldump,Mydumper/myloader)等都可以直接使用。
- 不过一些特性由于在分布式环境下没法很好的实现,目前暂时不支持或者是表现与MySQL有差异。
- 一些MySQL语法在TiDB中可以解析通过,但是不会做任何后续的处理,例如CreateTable语句中Engine,是解析并忽略。
TiDB不支持的MySql特性
- 存储过程与函数
- 触发器
- 事件
- 自定义函数
- 外键约束
- 临时表
- 全文/空间函数与索引
- 非 ascii/latin1/binary/utf8/utf8mb4 的字符集
- SYS schemaMySQL 追踪优化器
- XML 函数
- X-Protocol
- Savepoints
- 列级权限
- XA 语法(TiDB 内部使用两阶段提交,但并没有通过 SQL 接口公开)
- CREATE TABLE tblName AS SELECT stmt 语法
- CHECK TABLE 语法
- CHECKSUM TABLE 语法
- GET_LOCK 和 RELEASE_LOCK 函数
自增ID
TiDB 的自增列仅保证唯一,也能保证在单个 TiDB server 中自增,但不保证多个 TiDB server 中自增,不保证自动分配的值的连续性,建议不要将缺省值和自定义值混用,若混用可能会收 Duplicated Error 的错误信息。
TiDB 可通过 tidb_allow_remove_auto_inc 系统变量开启或者关闭允许移除列的 AUTO_INCREMENT 属性。删除列属性的语法是:alter table modify 或 alter table change。
TiDB 不支持添加列的 AUTO_INCREMENT 属性,移除该属性后不可恢复。
SELECT 的限制
- 不支持 SELECT … INTO @变量 语法。
- 不支持 SELECT … GROUP BY … WITH ROLLUP 语法。
- TiDB 中的 SELECT … GROUP BY expr 的返回结果与 MySQL 5.7 并不一致。MySQL 5.7 的结果等价于 GROUP BY expr ORDER BY expr。而 TiDB 中该语法所返回的结果并不承诺任何顺序,与 MySQL 8.0 的行为一致。
视图
目前TiDB不支持对视图进行UPDATE、INSERT、DELETE等写入操作。
默认设置差异
字符集
排序规则
- TiDB 中 utf8mb4 字符集默认:utf8mb4_bin。
- MySQL 5.7 中 utf8mb4 字符集默认:utf8mb4_general_ci。
- MySQL 8.0 中 utf8mb4 字符集默认:utf8mb4_0900_ai_ci。
大小写敏感
参数解释
- lower_case_table_names=0 表名存储为给定的大小和比较是区分大小写的
- lower_case_table_names =1 表名存储在磁盘是小写的,但是比较的时候是不区分大小写
- lower_case_table_names=2 表名存储为给定的大小写但是比较的时候是小写的
timestamp类型字段更新
默认情况下,timestamp类型字段所在数据行被更新时,该字段会自动更新为当前时间,而参数explicit_defaults_for_timestamp控制这一种行为。
- TiDB 默认:ON,且仅支持设置该值为 ON。
- MySQL 5.7 默认:OFF。
- MySQL 8.0 默认:ON。
参数解释
- explicit_defaults_for_timestamp=off,数据行更新时,timestamp类型字段更新为当前时间
- explicit_defaults_for_timestamp=on,数据行更新时,timestamp类型字段不更新为当前时间。
外键支持
- TiDB 默认:OFF,且仅支持设置该值为 OFF。
- MySQL 5.7 默认:ON。
原文地址:https://blog.csdn.net/u014526891/article/details/134731652
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_24880.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。