简单来说,索引就是一个指针,指向表里的数据。
创建索引
create indext index_name on table_name
删除索引
drop index index_name on table_name
索引的类型
单字段索引
create indext index_name on table_name(column_name)
如果某个字段单独在Where子句作为单独的查询条件,它的单字段索引是最有效的。
唯一索引
create unique indext index_name on table_name(column_name)
唯一索引不允许表里有重复值,且column_name不能是主键。
组合索引
create indext index_name on table_name(column1,column2)
组合索引是基于一个表里两个或多个字段的索引
隐含索引
是数据库服务程序在创建对象时自动创建的。比如,数据库会给主键约束和唯一性约束自动创建索引。
为什么给这些约束自动创建索引?
从一个数据库服务程序的角度来看,当管理员向数据库添加一列新信息时,主键是唯一的。为了有效地检查新值在数以千计的
记录里是唯一的,表里的主键列必须被索引。因此,在创建主键或唯一性约束时,数据库会自动给他们创建索引。
聚集索引和非聚集索引
根据索引的顺序与数据表的物理顺序是否相同,可以把索引非为聚集索引和非聚集索引。
例如:字典的目录就是一种索引,因为通过目录我们可以很快的定位到要检索的内容,而不是从头到尾把字典翻一遍。汉语字典
一般都提供两种目录,一种是拼音目录,另一种是偏旁部首目录。汉语字典是按照拼音的顺序排列的,因此拼音目录就是聚集索引,
而偏旁部首目录是非聚集索引,
每一个表都只有一个聚集索引,因为表中数据的物理顺序只有一个,而非聚集索引则可以创建多个。
索引的小知识
索引是数据库调优的最根本的方法,很多优化手法都是围绕索引展开的,可以说索引是一切优化手法的“内功”,而所有的优化
手法都是由索引衍化出来的招式而已。 
但是由于索引需要占据一定的存储空间,而且索引也会降低数据插入、删除和更新的速度,所以应该只创建必要的索引,一般是
在检索的时候用的字段中创建索引。
索引还会造成存储碎片的问题。当删除一条记录时,将会导致对应的索引中的该记录的对应项为空,由于索引是采用B树结构存储,
所以对应的索引项不会被删除,经过一段时间的增删改操作后,数据库中就会出现大量的存储碎片,这些存储碎片不仅占用了存储
空间,而且降低了数据库运行的速度。那么怎么处理这些存储碎片呢?最方便的手段就是重建索引,重建索引会将先前创建的索引
删除然后重新创建索引,主流数据库管理系统都提供了重建索引的功能,比如reindex,rebuild等,如果没有提供重建索引功能,可以
首先用drop index语句删除索引,然后用alter table语句重新创建索引。

转载于:https://www.cnblogs.com/jiajiayuan/archive/2011/07/12/2104418.html

SQL Server之索引相关推荐

  1. SQL Server创建索引

    什么是索引 拿汉语字典的目录页(索引)打比方:正如汉语字典中的汉字按页存放一样,SQL Server中的数据记录也是按页存放的,每页容量一般为4K .为了加快查找的速度,汉语字(词)典一般都有按拼音. ...

  2. SQL Server 聚集索引 clustered index 非聚集索引Nonclustered Indexes键查找查找Key Lookup执行计划过程详解

    SQL Server 聚集索引非聚集索引键查找过程详解 索引的相关术语 1 堆(Heap)是一种没有指定排序的数据结构,通俗的理解堆就像是按照顺序排放的杂物.在数据库里也即是对应没有聚集索引. 2 聚 ...

  3. 理解SQL Server中索引的概念,原理以及其他

    简介 在SQL Server中,索引是一种增强式的存在,这意味着,即使没有索引,SQL Server仍然可以实现应有的功能.但索引可以在大多数情况下大大提升查询性能,在OLAP中尤其明显.要完全理解索 ...

  4. SQL Server创建索引(转)

    什么是索引 拿汉语字典的目录页(索引)打比方:正如汉语字典中的汉字按页存放一样,SQL Server中的数据记录也是按页存放的,每页容量一般为4K .为了加快查找的速度,汉语字(词)典一般都有按拼音. ...

  5. T-SQL查询进阶--理解SQL Server中索引的概念,原理以及其他(看了两次了,转了)

    简介 在SQL Server中,索引是一种增强式的存在,这意味着,即使没有索引,SQL Server仍然可以实现应有的功能.但索引可以在大多数情况下大大提升查询性能,在OLAP中尤其明显.要完全理解索 ...

  6. sql server 群集_设计有效SQL Server群集索引

    sql server 群集 In the previous articles of this series (see bottom for a full index), we described, i ...

  7. 列顺序对SQL Server复合索引的影响

    In this article, we will explore the Composite Index SQL Server and the impact of key order on it. W ...

  8. SQL Server 的索引结构实例

    目前SQL Server 的索引结构如下: 这个是聚集索引的存放形式: 非聚集索引的方式如下: 它们是以B+树的数据结构存放的. 相信大家都看过类似的图,但是没有直观的认识,下面举一个实际的例子来说明 ...

  9. 理解SQL Server中索引的概念,原理

    理解SQL Server中索引的概念,原理 摘自:http://51even.iteye.com/blog/1490412 简介 在SQL Server中,索引是一种增强式的存在,这意味着,即使没有索 ...

  10. SQL Server的索引碎片

    无论是什么关系型数据库,尤其在OLTP系统中,索引是提升数据访问速度的常用方式之一,但是不同类型的数据库,对索引碎片的处理可能会略有不同. 我们知道,索引碎片多了,意味着可能会扫描更多的数据块.消耗更 ...

最新文章

  1. 唯一索引和普通索引的选择
  2. CUDA and cudnn 历史版本归档地址
  3. 在Ubuntu中安装PHP,MySQL,Nginx和phpMyAdmin
  4. 隐藏滚动条,保留鼠标滚动效果
  5. HDU-1878 欧拉回路 判定是否存在欧拉回路
  6. enterprise search for Object is not enabled
  7. ASP.NET Core管道深度剖析(3):管道是如何处理HTTP请求的?
  8. 如何对 Jenkins 共享库进行单元测试
  9. 远程显示协议对比:RemoteFX vs. HDX vs. PCoIP
  10. 微信公众号H5支付的两种方式
  11. 外文参考文献找不到页码怎么办?
  12. python怎么把二维数组转化一维数组,python 二维数组转一维数组
  13. leetcode(17~30)
  14. 二进制拆弹(20181023-20181026)
  15. 2021年 IOS的发布流程(企业版那 无法下载,无法安装)
  16. 泰坦尼克号Python数据分析
  17. 文档级关系抽取:A Densely Connected Criss-Cross Attention Network for Document-level Relation Extraction
  18. 为VMware vSphere创建CentOS 7 Terraform模板
  19. write error in swap file 问题解决
  20. 磁盘阵列是什么,主要做什么用?

热门文章

  1. 69. x 的平方根 golang
  2. I/O多路转接之poll 函数
  3. linux非阻塞的socket发送数据出现EAGAIN错误的处理方法
  4. C++设计模式之策略模式(Strategy)
  5. 自学Android!Android高级工程师面试题-字节跳动,附答案
  6. gulp 实现sass自动化 ,监听同步
  7. android——获取ImageView上面显示的图片bitmap对象
  8. 【转】测试过程管理案例6---如何做项目的测试经理?
  9. eclipse编辑jsp文件和javascript代码很卡解决办法
  10. 逻辑回归的通俗解释 逻辑回归的定位