10bet网址
MySQL 8.0参考手册
相关的文档10bet官方网站 本手册下载
PDF (Ltr)- 41.6 mb
PDF (A4)- 41.7 mb
手册页(TGZ)- 262.2 kb
手册页(邮政编码)- 372.3 kb
信息(Gzip)- 4.0 mb
信息(邮政编码)- 4.0 mb
本手册节选

15.12.3在线DDL空间要求

现场在线DDL操作的空间需求概述如下。空间需求不适用于立即执行的操作。

  • 临时日志文件空间

    当在线DDL操作创建索引或修改表时,临时日志文件记录并发DML。的值对临时日志文件进行扩展innodb_sort_buffer_size所指定的最大值innodb_online_alter_log_max_size.如果临时日志文件超过大小限制,在线DDL操作将失败,未提交的并发DML操作将回滚。一个大的innodb_online_alter_log_max_size设置允许在在线DDL操作期间进行更多的DML,但它也延长了DDL操作结束时锁定表以应用日志DML的时间。

    如果操作花费很长时间,并发DML修改表的次数太多,以至于临时日志文件的大小超过innodb_online_alter_log_max_size,则在线DDL操作失败DB_ONLINE_LOG_TOO_BIG错误。

  • 临时排序文件的空间

    在线DDL操作将临时排序文件写入MySQL临时目录($ TMPDIR在Unix中,%临时%或指定的目录——tmpdir)。没有在包含原始表的目录中创建临时排序文件。每个临时排序文件都足够大,可以容纳一列数据,当将其数据合并到最终表或索引中时,将删除每个排序文件。涉及临时排序文件的操作可能需要等于表中的数据量加上索引的临时空间。如果在线DDL操作使用了数据目录所在文件系统上的所有可用磁盘空间,则报告错误。

    如果MySQL临时目录不够大,无法保存排序文件,请设置tmpdir到另一个目录。或者,为在线DDL操作定义一个单独的临时目录innodb_tmpdir.引入此选项是为了帮助避免由于大型临时排序文件而可能发生的临时目录溢出。

  • 中间表文件的空间

    一些重建表的在线DDL操作在与原始表相同的目录中创建临时中间表文件。中间表文件可能需要等于原始表大小的空间。中间表文件名以# sql-ib前缀,并且只在在线DDL操作期间短暂出现。

    innodb_tmpdir选项不适用于中间表文件。