MSSql Server基础学习系列———索引

MSSql Server 对于那些未建立索引的表格数据的检索是从第一行开始,从上往下,一条一条的检索。如果我们程序中经常要用到查询操作,而且数据库中的数据量很庞大,毫无疑问,每次的数据查询都会比较浪费时间。

大家小时候学语文的时候应该都用过新华字典,回想一下我们查找某个汉字的时候是怎么做的呢?我们应该都会先查找字典前面的目录,然后根据目录指示的页数进行汉字查询,这大大节约了我们的查询效率。试想一下,如果没有这个目录,查询一个我们不认识的汉字该是多么可怕的一件事情啊。微软当然也为我们的查询提供了优化操作。MSSql Server数据库中的索引就相当于对我们的数据创建了一个目录,有了目录查找数据时就会更快了

建立索引固然提高了我们的查询效率,可也带来了一些弊端

(1)空间成本的消耗

我们需要在数据库中建立所以,固然就需要一些空间来保存这些索引,舍空间求时间。

(2)可能会降低删修的时间(性能)。

数据库中为某个表格建立索引之后,数据库中的数据就已经进行了排序。如果我们想插入一条数据,而这条数据根据建立的索引原则应该插入到表格的中间位置,那为了维持这个索引,在这个新插入数据之后的所有数据都需要向后移动,如果数据量很大,这也是比较耗性能的。同样是删除操作。

索引分为两类:

     聚集索引:数据在索引中的顺序与数据的物理顺序一致.(如字典中的音序查字法)

     非聚集索引数据在索引中的顺序与数据的物理顺序不一致.(如部首查字法)

一旦一个表创建了一个主键,那么也就创建了一个聚集索引。


非聚集索引建立:

选择某个表格->设计->选择某一列->右键 索引/键->左边区域点击添加->选择需要建立非聚集索引的列以及排序规则、是否唯一

建索引的原则:

1) where 后经常搜索的列

2) 不经常改变的列

3) 数据差别要大(如性别列,就不要建索引了)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值