我的桌子中有一个独特的字段,我需要快速搜索它。我需要将其编入索引吗?
对唯一字段和索引字段的搜索在速度或资源使用方面是否有所不同?
答案 0 :(得分:45)
否,您无需再次索引。指定UNIQUE KEY
时,列将被编入索引。因此,与相同类型的其他索引列(例如PRIMARY KEY)的性能没有区别。
但是如果类型不同,则性能差异很小。
答案 1 :(得分:7)
根据定义,每个UNIQUE
字段都使用UNIQUE INDEX
索引 - 这也是最快的可搜索访问路径。
答案 2 :(得分:6)
如果字段必须是唯一的,那么它应该是PRIMARY KEY
或UNIQUE INDEX
。
至于UNIQUE INDEX
和INDEX
之间的性能,选择时没有区别,因为两者都将使用相同的算法,即散列或b树。只是使用UNIQUE
索引,特别是数字INT
索引,它将比包含重复项的索引更快,因为诸如b-tree之类的算法能够更有效地到达请求的行(S)