T-SQL 索引

原文地址https://www.cnblogs.com/CareySon/archive/2011/12/22/2297568.html

索引:是对数据库中一列或者多列数据进行排序的结构,使用所以可提升查询的速度,但是会影响新增、修改和删除的速度

SQL SERVER中索引和表一样是是B树的方式存储的,每增加一个索引都会增加一个树状空间,B树结构:

索引分聚集索引和非聚集索引。

聚集索引的特点

1.聚集索引的叶子节点就是实际的数据页

2.行的物理位置和行在索引中的位置是相同的

3.每个表只有一个聚集索引

4.聚集索引的平均大小大约为表大小的5%左右

5.主键不一定就是聚集索引

聚集索引结构:

聚集索引物理顺序和逻辑顺序一致:

3

创建非聚集索引的主键:

非聚集索引特点

1.非聚集索引的页,不是数据,而是指向数据页的页(叶子节点是对于其所在表的引用分为两种,如果其所在表上没有聚集索引,则引用行号。如果其所在表上已经有了聚集索引,则引用聚集索引的页)。

2.若未指定索引类型,则默认为非聚集索引

3.叶节点页的次序和表的物理存储次序不同

4.每个表最多可以有249个非聚集索引

5.在非聚集索引创建之前创建聚集索引(否则会引发索引重建)

 

非聚集索引的结构:

非聚集索引和聚集索引额关系:

6

索引的代价:

1.影响新增、修改、删除的效率

2.非聚集索引需要额外的磁盘空间

3.不恰当的非聚集索引反而会降低性能

4.当随着数据量的增长,产生了索引碎片后,很多存储的数据进行了不适当的跨页,会造成碎片(关于跨页和碎片以及填充因子的介绍,我会在后续文章中说到)我们需要重新建立索引以加快性能

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值