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

Tom*_*yer 34 mysql indexing field unique

我的表中有一个独特的字段,我需要快速搜索它.我需要索引吗?

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

Shi*_*dim 50

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

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


Eug*_*eck 8

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


Sim*_*tal 6

如果该字段需要是唯一的,那么它应该是PRIMARY KEY或者a UNIQUE INDEX.

至于在性能UNIQUE INDEXINDEX,有选择既会使用相同的算法,即哈希或B树的时候没有任何区别.只是使用UNIQUE索引,特别是数字,即INT一个,它将比包含重复的索引更快,因为诸如b-tree之类的算法能够更有效地到达请求的行