gpt4 book ai didi

mysql - 在 mySQL 5.6 中,ALGORITHM 参数的默认行为是什么?

转载 作者:可可西里 更新时间:2023-11-01 07:26:19 26 4
gpt4 key购买 nike

我正在使用 MySQL 5.6(及其在线 DDL 功能)生成一些就地更改表操作,例如“添加列”。我看到 LOCK 参数默认为允许的最高并发级别(对于 ADD COLUMN 这应该是“NONE”)但是 ALGORITHM 参数的默认行为是什么?在文档中它说“ALGORITHM = DEFAULT 与完全不指定 ALGORITHM 子句相同。”但这没有帮助,因为它没有说明 ALGORITHM = DEFAULT 等于什么。

http://dev.mysql.com/doc/refman/5.6/en/alter-table.html

有人知道吗?

最佳答案

默认值取决于您尝试应用的更改类型。

一些更改可以使用 ALGORITHM=INPLACE,因此这是它们的默认设置。其他更改永远不能使用在线 DDL,因此它们的默认值是 ALGORITHM=COPY。例如,无法就地更改数据类型或删除主键。

参见 https://dev.mysql.com/doc/refman/5.6/en/innodb-create-index-overview.html .它们记录了如何处理不同的操作,在“就地”列中说“否”的操作默认使用 ALGORITHM=COPY,如果您尝试使用 ALGORITHM=INPLACE,则会失败。

您可以强制一个操作使用 ALGORITHM=COPY,即使它可以就地完成它的工作,但如果它不能这样做,您不能请求一个操作使用 ALGORITHM=INPLACE。

关于mysql - 在 mySQL 5.6 中,ALGORITHM 参数的默认行为是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25858069/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com