2012-02-22 110 views
22

我在桌上有一个独特的字段,我需要快速搜索它。我需要索引它吗?Mysql:独特的领域需要索引?

搜索独特的字段和索引字段的速度或资源使用情况有所不同吗?

+0

阅读:http://explainextended.com/2009/04/23/making-an-index-unique/ – diEcho 2012-02-22 10:44:18

回答

36

的索引快没有,你不必再次索引它。当您指定UNIQUE KEY时,该列将被索引。因此它与相同类型与其他索引列(例如PRIMARY KEY)的性能没有差异。

但是,如果类型不同,性能差别不大。

+1

好多tks:D。搜索期间唯一键和索引键之间的性能有什么区别? – TomSawyer 2012-02-22 11:24:28

+1

@Tom如果两者都被索引,则没有区别。再次阅读我的答案。 – 2012-02-22 11:33:41

5

每个UNIQUE字段按照定义索引为UNIQUE INDEX - 这也恰好是最快的可搜索访问路径。

5

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

至于UNIQUE INDEXINDEX之间的性能,选择时没有区别,因为它们都将使用相同的算法,即哈希或b-tree。这只是一个UNIQUE指数,尤其是数字即INT一个,它会比这包含重复的算法,如B树能够更有效地得到所要求的行(或多个)