10bet网址
MySQL 8.0参考手册
相关文件10bet官方网站 下载本手册 从本手册中摘录

15.12 InnoDB和在线DDL

在线DDL功能提供了支持即时和地理表格更改和并发DML。此功能的好处包括:

  • 提高繁忙生产环境中的响应性和可用性,其中桌子不可用几分钟或时间不实用。

  • 对于就地操作,使用使用的DDL操作期间调整性能和并发性之间的平衡的能力条款。看锁子句

  • 磁盘空间使用率少于表拷贝方法的磁盘空间使用率和I / O开销。

笔记

算法=瞬发支持可供支持添加列和MySQL 8.0.12中的其他操作。

通常,您无需执行任何特殊操作以启用在线DDL。默认情况下,MySQL如允许的情况下立即或到位,以尽可能少的锁定。

您可以使用该方面控制DDL操作的方面算法氏子句的改变表陈述。这些条款放在声明的末尾,通过逗号分离与表和列规范分开。例如:

改变表tbl_name.添加主键(柱子),算法= inplace,lock = none;

子句可用于在适当的操作中进行操作,并且可用于微调在操作期间对表的并发访问程度。仅有的锁定=默认值支持立即执行的操作。这算法子句主要用于绩效比较,并作为较旧的表复制行为的后备,以防您遇到任何问题。例如:

  • 避免意外地使表格不可用在就地期间的读取,写作或两者改变表操作,指定一个条款改变表陈述锁定=无(允许读写)或锁定=共享(许可证)。如果不可用的请求的并发水平,操作会立即停止。

  • 要比较算法之间的性能,请运行一个语句算法=瞬发算法= inplace.算法=拷贝。您还可以使用该声明old_alter_table配置选项已启用以强制使用算法=拷贝

  • 避免用捆绑服务器改变表复制表的操作包括算法=瞬发或者算法= inplace.。如果不能使用指定的算法,该语句立即停止。