索引

索引

简介:

  1. SQL Sever索引类型有:唯一索引、主键索引、聚集索引、非聚集索引。
  2. MySQL索引类型有:唯一索引、主键索引(也叫聚集索引)、非聚集索引、全文索引。


一、聚集索引

聚集索引:描述的是一种物理排序规则,将表内的数据按照一定的规则进行排序,方便查询。 一个表中只能拥有一个聚集索引。
简单理解:聚集索引就像是新华字典的拼音目录,而每个字存放的页码就是我们的数据物理地址。

二、非聚集索引

该索引中索引的逻辑顺序与磁盘上的物理存储顺序不同。 一个表中可以拥有多个非聚集索引。
备注:
1. 其实,除了聚集索引都是非聚集索引,只是人们想细分一下非聚集索引,所以又将其分成了普通索引、唯一索引和全文索引。
2. 简单理解:非聚集索引就像是新华字典的偏旁,它的结构顺序与实际存放顺序不一定是一致的。

三、唯一索引

实际上就是要求指定的列中所有的数据必须不同。 一个表中可以拥有多个唯一索引。
(主键索引可以看作是非空、唯一值索引)

总结

1. 一个表的主键只能有一个,而唯一索引可以有多个。
2. 主键不可以为null,而唯一索引可以为null。
3. 主键是唯一的,所以创建了一个主键的同时,也就为这个字段创建了一个唯一的索引。
4. 聚集索引应该尽量建立在值不会发生变更的列上,否则会带来非聚集索引的二次查询问题。
5. 使用聚集索引的查询效率要比非聚集索引的效率高。
6. 尽量在建立非聚集索引之前建立聚集索引,否则会导致表上所有非聚集索引的重建。
7. 聚集索引并不一定是唯一索引 !!!(索引是否唯一与是否聚集是不相关的,聚集索引可以是唯一索引,也可以是非唯一索引)
8. 将索引设置为唯一,对于等值查找是很有利的,因为当查到第一条符合条件的记录时即可停止查找,返回数据,而非唯一索引则要继续查找。同样,由于需要保证唯一性,所以每一行数据的插入都会去检查重复性。
9. 聚集索引和非聚集索引都可以有重复记录,而唯一索引不能有重复记录。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值