如何使现有的AutoIncrement索引成为MySQL中的Clustered Index?

时间:2014-07-30 13:38:43

标签: mysql sql indexing clustered-index

这有点令人费解。

我有一个唯一的非聚集索引,我希望将其转换为该表的聚簇索引。

我无法删除并重新创建索引,因为删除AI列上的索引是非法的。

这是当前的DDL

CREATE TABLE `RETS_STAGE1_QUEUE` (
  `LN_LIST_NUMBER` int(8) unsigned zerofill NOT NULL,
  `RECORDMODDATE` datetime NOT NULL,
  `syncTime` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  `xmlText` varchar(64000) NOT NULL,
  `RETS_STAGE1_QUEUE_ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
  UNIQUE KEY `RETS_STAGE1_QUEUE_ID` (`RETS_STAGE1_QUEUE_ID`)
) ENGINE=InnoDB AUTO_INCREMENT=838053 DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED

1 个答案:

答案 0 :(得分:1)

AUTO_INCREMENT列已被用作聚集索引。

来自docs

  
    

如果没有为表定义PRIMARY KEY,MySQL会找到第一个UNIQUE索引,其中所有键列都是NOT NULL,而InnoDB将它用作聚簇索引。