• 索引基础


    1 索引基础

    索引是一种存储结构,主要以B-Tree形式存储信息。通过这种存储格式,sqlserver优化器可以通过最少的I/O次数获取所需的数据,并返回客户端。当然,sqlserver可以完全不用索引,但是基于索引所具有的强大功能,不建议不用索引。

    2 索引的主要类型

    2.1 堆:准确来说,堆不是索引,但是它和索引有紧密的联系,所以这里还是把它分到索引范畴。堆的定义就是一堆数据,堆是有顺序的,在没有改动的情况下,它的顺序就是数据插入时的顺序。但是由于堆没有一种严密的组织方式,因此一旦数据改动(update,delete),数据的顺序就会发生改变,而且不容易组织。所以没有聚集索引的数据表都称为堆表。即使上面有非聚集索引,也还是堆表。

    2.2 聚集索引:每个表只能有一个聚集索引,通过create clustered index来创建,能使表按照创建是的首列顺序存放数据。

    2.3 非聚集索引:sqlserver2008可以在单表上创建多达999个非聚集索引,它和聚集索引一样,是B-Tree结构,但是并不影响数据存储。只有堆和聚集索引才影响数据的存储。绝大部分的索引变种都是非聚集索引。

    2.4 列存储索引:它是从sqlserver2012开始引入的一种索引类型,主要目的是用于应对大数据量的查询操作。通过与传统索引(行存储)不一样的存储结构,在某些情况下,可以大大提升索引的效率。

    2.5特殊索引:sqlserver除了上面所说的索引类型之外,还有xml索引、空间索引、全文索引等其他非聚集索引的变种。

    2.6 索引其他类型:索引不是只有“index”,还包含一些变种,比如:主键、唯一索引、包含索引、分区索引、过滤索引等。

  • 相关阅读:
    11.文件操作
    10.模块和包
    9.异常
    8.单例模式
    7.类属性、类方法、静态方法
    小学口算题卡---田青正
    个人技术流程(四则运算)--马伟杰
    个人开发流程(四则运算)--张文龙
    个人技术流程(四则运算)--王潮玉
    个人技术流程(四则运算)--毛明明
  • 原文地址:https://www.cnblogs.com/xiaozhi1236/p/5951036.html
Copyright © 2020-2023  润新知