博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
索引基础
阅读量:4346 次
发布时间:2019-06-07

本文共 772 字,大约阅读时间需要 2 分钟。

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”,还包含一些变种,比如:主键、唯一索引、包含索引、分区索引、过滤索引等。

 

转载于:https://www.cnblogs.com/xiaozhi1236/p/5951036.html

你可能感兴趣的文章
Chrome插件:本地程序实现验证码破解(浏览器与本地进程通信)
查看>>
学习的态度!
查看>>
小组成员名单()
查看>>
[Javascirpt] What’s new in JavaScript (Google I/O ’19)
查看>>
[Angular 2] Writing a Simple Angular 2 Component
查看>>
可能会用的到的JQ插件
查看>>
高斯消元模板
查看>>
【GPS】SAP测试GPS模块拿不到sensor数据
查看>>
python 数据类型之列表、元组、字典、集合
查看>>
【Java并发编程】8、各种锁的概念
查看>>
【Java基础】5、java中的匿名内部类
查看>>
Python中capitalize()与title()的区别
查看>>
GRASP (职责分配原则)
查看>>
C#语言特性-运算符重载
查看>>
echart.js的使用
查看>>
IC 设计中DFT的Boundary Scan功能
查看>>
iOS 2D绘图详解(Quartz 2D)之Bitmap
查看>>
Swift - 让程序挂起后,能在后台继续运行任务
查看>>
Python3基本语法
查看>>
【 PostgreSQL】后台周期执行函数实例(shell+crontab)
查看>>