来自文档:
包含DROP INDEX和ADD INDEX的ALTER TABLE语句 两个名称相同索引的子句都使用表副本,而不是快速 索引创建。
这对我来说有点不清楚。是在谈论指数的名称吗?有人可以提供一个MySQL查询表副本的查询示例吗?
答案 0 :(得分:0)
事实上,这听起来像这条线:
并声明此类语句使用表副本,而不是快速索引创建。
这样的陈述将是:
ALTER TABLE MyTable
DROP INDEX MyIndex
ADD INDEX MyIndex(MyColumn);
文档并没有真正清楚这背后的原因,但我认为数据库首先想要创建一个索引然后删除另一个索引,所以这个语句本身可以更容易原子化。 (创建索引可能会失败。)如果索引名称本身也在存储中使用,那么首先创建然后删除的顺序会产生冲突。
毕竟,快速索引创建是一个相对较新的功能,因此它们可能会随着时间的推移而改进。