TiDB DDL变更与MySQL对比区别及限制

  • A+
所属分类:TiDB
2023云数据库优惠活动

阿里云:2核4G服务器6M带宽68元/年、2核4G服务器188元一年、4核8G5M 1000元、8核16G5M......

腾讯云:2核4G服务器8M带宽70元一年,更多1c2g/2c4g/2c8g/4c8g/8c16g/16c32g...

在TiDB数据库中运行的DDL操作不会影响对表的读取或写入,但是DDL变更有一些限制,数据库吧分享PingCAP官方文档关于TiDB DDL变更与MySQL对比区别及限制:

TiDB DDL变更限制

Add Index

  • 不支持同时创建多个索引
  • 不支持通过ALTER TABLE在所生成的列上添加索引
  • Add Column

  • 不支持同时创建多个列
  • 不支持将新创建的列设为主键或唯一索引,也不支持将此列设成auto_increment属性
  • Drop Column

  • 不支持删除主键列或索引列
  • Change/Modify Column

  • 不支持有损变更,比如从 BIGINT 变为 INTEGER,或者从 VARCHAR(255) 变为 VARCHAR(10)
  • 不支持修改 DECIMAL 类型的精度
  • 不支持更改 UNSIGNED 属性
  • 只支持将 CHARACTER SET 属性从 utf8 更改为 utf8mb4
  • Alter Database

  • 只支持将 CHARACTER SET 属性从 utf8 更改为 utf8mb4
  • LOCK [=] {DEFAULT|NONE|SHARED|EXCLUSIVE}

    LOCK [=] {DEFAULT|NONE|SHARED|EXCLUSIVE}TiDB支持的语法,但是在 TiDB 中不会生效。所有支持的DDL变更都不会锁表。

    ALGORITHM [=] {DEFAULT|INSTANT|INPLACE|COPY}

    TiDB 完全支持 ALGORITHM=INSTANT 和 ALGORITHM=INPLACE 语法,但运行过程与 MySQL 有所不同,因为 MySQL 中的一些 INPLACE 操作实际上是 TiDB 中的 INSTANT 操作。ALGORITHM=COPY 语法在 TiDB 中不会生效,会返回警告信息。

    本文仅供参考,详细请以PingCAP官方文档为准。

    2023腾讯云服务器超便宜,这个价格太可以了,抓紧上车!

    注意:以上特价轻量服务器限制条件为“产品首单特惠”,如果你的腾讯云账号已经是老用户,建议重新注册一个腾讯云账号,如果你是新用户符合条件,那么无脑入,这个CPU内存带宽配置,价格确实便宜,值得买!

    注意:购买阿里云数据库,先领取阿里云2000元代金券,符合条件的订单可以使用代金券抵扣。

    阿里云代金券

    发表评论

    :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: