数据库总结二索引

非聚集索引

            非聚集索引的数据存储在一个位置,索引存储在另一个位置索引带有指针指向数据存储位置,索引中的项目按索引值的顺序存储,而表中信息按另一种顺序存储。

             非聚集索引与聚集索引具有相同的B-Tree 结构,但两个有重大区别:

   数据行不按非聚集索引键的顺序排序和存储;

   非聚集索引的叶层不包含数据页,相反,叶结点包含索引行。

   有没有非聚集索引都不影响数据页的组织,因此每个表可以有多个非聚集索引,而不像聚集索引只能有一个。在SQL Server2005 中每个表可以创建非聚集索引最多为249个。

Ø  注意:由于非聚集索引使用索引页存储,因此它比聚集索引需要更多的存储空间,且检索效率较低。

数据库在搜索数据时,先对非聚集索引进行搜索,找到数据值在表中的位置,然后在该位置直接检索数据。这使得非聚集索引成为精确查询的最佳方法,因为索引包含了描述查询所搜索的数据值在表中的精确位置的条目。

要点:

   以下数据类型不可用作非聚集索引的键:

                 ntext text  varchar(max) nvarchar(max)     varbinary(max) xml image

                当用户需要用多种方法搜索数据时,非聚集索引很有用。如:用户可以频繁搜索园艺数据库来查找植物的俗名和学名。可以创建非聚集索引用于检索学名,创建聚集索引用于检索俗名。

 

考虑建索引的列

Ø  在经常需要搜索的列上;

Ø  在作为主键的列上;

Ø  在经常用在连接的列上;

Ø  在经常使用在WHERE子句中的列。

Ø  在经常需要排序的列上;

Ø  在经常需要根据范围进行搜索的列上;

不考虑建索引的列

Ø  对于那些在查询中很少使用或者参考的列;

Ø  对于那些只有很少唯一数据值的列;

Ø  对于那些定义为TEXTNTEXTIMAGEBIT等数据类型的列;

Ø  当列的修改性能远远大于检索性能时。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值