SQL SERVER 索引(2)——设计原则

       索引有助于我们提高系统的性能,提升查询效率,但是如果索引设计的不够合理,可能会适得其反,让我们的系统更加缓慢,查询效率下降,所以本次介绍一下索引的设计原则。

       数据表的选择:

       什么样的表适合建立索引呢,注意如果表很小数据不多,那么索引慎用,因为查询优化器在遍历用于搜索数据的索引时,花费的时间可能比执行简单的表扫描还长。 因此,小表的索引可能从来不用,但仍必须在表中的数据更改时进行维护。

       操作对于索引的影响:

       索引会影响 INSERT、UPDATE、DELETE 和 MERGE 语句的性能,因为当表中的数据更改时,所有索引都须进行适当的调整,所以在新建索引时应该尽量避免会做大量数据更新操作的列,而要选择时常需要查询的列来作为索引列,或者是两个表的关联字段和查询条件字段等作为索引列。

       字段长度的选择:

       索引列要选择较短的列,不能将 ntext、text、image、varchar(max)、nvarchar(max) 和 varbinary(max) 数据类型的列指定为索引键列。

       聚集索引和非聚集索引的适用场景:

动作描述

使用聚集索引

使用非聚集索引

列经常被分组排序

返回某范围内的数据

不应

一个或极少不同值

不应

不应

小数目的不同值

不应

大数目的不同值

不应

频繁更新的列

不应

外键列

主键列

频繁修改索引列

不应

       以上是索引设计的一些知识点,欢迎指正。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值