【发布时间】:2011-06-02 23:04:19
【问题描述】:
我有一个从 MyISAM 转换而来的具有 HEAP/MEMORY 存储类型的 MySQL 表。索引会自动转换为 HASH,但我需要它们是 BTREE。如何将它们从 HASH 更改为 BTREE?
【问题讨论】:
我有一个从 MyISAM 转换而来的具有 HEAP/MEMORY 存储类型的 MySQL 表。索引会自动转换为 HASH,但我需要它们是 BTREE。如何将它们从 HASH 更改为 BTREE?
【问题讨论】:
删除索引确实有效,但如果不这样做,这对 PRIMARY KEY 不起作用:
ALTER TABLE table DROP PRIMARY KEY, ADD PRIMARY KEY USING BTREE (id);
【讨论】:
删除索引并重新创建它们using btree ...它们不包含真实数据,因此您不会丢失任何内容,并且在堆/内存表中它应该是一个非常快的操作。
【讨论】:
ALTER TABLE your_table DROP PRIMARY KEY