主键和索引的关系
一. 主键
- 主键的唯一作用就是唯一标识表中的某一行数据。
分为单一主键和联合主键
- 单一主键:只用一列就能唯一标识一行。
- 联合主键:当使用一列已经不能唯一标示一行的时候,就要采用多列唯一标识一行,就是联合主键。
二. 索引
- 索引的作用就是提高数据的检索速度。
分为单一索引和联合索引:
- 单一索引:只是用某一列数据作为索引,默认是index索引,这一列可以包含重复数据;如果某一列不存在重复数据最好设置成unique形式的索引,比index的索引速度更快,在text数据上要使用fulltext索引。
- 联合索引:为了更进一步提高检索速度,每次检索都需要用多列同时进行时,就可以把这多列设为联合索引,提高索引速度,根据多列是否唯一,也分为index索引和unique索引。
三. 主键和索引总结
- 主键一定是索引,但是索引不一定是主键。
- 一个表只能有一个主键或联合主键,但是可以有多个索引。
- 主键字段必须不能为空,但是索引字段可以为空。