在一个表中,主键索引只能有一个,唯一索引可以有多个
- 主键索引(PRIMARY KEY) :唯一的标识,主键不可重复 (id怎么能有两个1,或者两个2呢),只能有一个列作为主键
- 唯一索引(UNIQUE KEY):避免重复的列出现,唯一索引可以重复,多个列都可以标识为唯一索引
- 常规索引(默认的)(KEY/INDEX):index,key 关键字来设置
- 全文索引(FullText):在特定的数据库引擎下才有,MYISAM 。快速定位数据
索引原则:
- 索引不是越多越好
- 不要对经常变动的数据加索引
- 小数据量的表不需要加索引
- 索引一般加在常用来查询的字段上
索引的数据结构:
Hash类型的索引
Btree:InnoDB的默认索引结构
阅读:http://blog.codinglabs.org/articles/theory-of-mysql-index.html