MySQL表中的列是否有一个唯一且正常的索引?

时间:2010-11-10 21:41:37

标签: mysql database indexing

所以这是一个我一直在询问pyroCMS人员的问题,因为在搜索源代码时我注意到新闻模块的news_categories表在“slug”列上有2个索引。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

创建非唯一索引没有意义,它只会降低表上的写入性能(因为需要维护两个相同的索引)。

有趣的是,Oracle在这种情况下的表现更为一致。

如果您指示Oracle在已使用UNIQUE索引编制索引的列上创建普通索引(反之亦然),则会抛出错误。

但是,如果您创建一个普通索引,然后创建一个UNIQUE CONSTRAINT(使用ALTER TABLE ADD CONSTRAINT),它将创建约束并使用现有的普通索引来强制执行它。

答案 1 :(得分:0)

不,在同一列上有2个索引是没有意义的。