Mysql:唯一字段需要索引吗?

时间:2012-02-22 10:40:25

标签: mysql indexing field unique

我的桌子中有一个独特的字段,我需要快速搜索它。我需要将其编入索引吗?

对唯一字段和索引字段的搜索在速度或资源使用方面是否有所不同?

3 个答案:

答案 0 :(得分:45)

,您无需再次索引。指定UNIQUE KEY时,列将被编入索引。因此,与相同类型的其他索引列(例如PRIMARY KEY)的性能没有区别。

但是如果类型不同,则性能差异很小。

答案 1 :(得分:7)

根据定义,每个UNIQUE字段都使用UNIQUE INDEX索引 - 这也是最快的可搜索访问路径。

答案 2 :(得分:6)

如果字段必须是唯一的,那么它应该是PRIMARY KEYUNIQUE INDEX

至于UNIQUE INDEXINDEX之间的性能,选择时没有区别,因为两者都将使用相同的算法,即散列或b树。只是使用UNIQUE索引,特别是数字INT索引,它将比包含重复项的索引更快,因为诸如b-tree之类的算法能够更有效地到达请求的行(S)