SQLServer索引介绍

SQLServer索引介绍
第一,指数概述
1,概念:数据库索引是对数据表中一个或多个列的值进行排序的结构。就像一本书的目录一样,索引提供了快速查询行中特定行的能力。
2,优点和缺点:

2.1个优点:1、数据搜索速度大大加快,这是引入索引的主要原因

2,创建一个唯一的索引,以确保数据库表中每一行数据的唯一性。

3,加速度表与表之间的连接对于实现数据的引用完整性具有特别重要的意义。

4,当使用数据包和排序子句进行数据检索时,也可以减少使用时间。

缺点:1、2索引需要占用物理空间,和更多的空间聚集指数账户

2,创建索引和维护索引需要时间,随着数据量的增加,索引会随之增加。

3,当添加或修改记录到包含索引列的数据表时,SQLServer将修改和维护相应的索引,这将增加额外的开销和处理速度。
3、指标的分类

1,根据存储结构,可分为:

a聚集索引:物理存储序列与索引序列完全相同。它由两层组成。上层是索引页,下层是数据页。只有一种排序方法,因此每个表只能创建聚集索引。

B,非聚集索引:数据的存储结构通常与表的物理数据的存储结构不同。我们可以分析下表:(在学校编号上建立非聚集索引)

2,基本索引键值是否唯一,可以判断它是否是唯一的索引;基于多个字段组合的复合索引是一个组合索引:
1,创建:(1),原则:A,只有表的所有者可以在同一个表中创建索引;

B,每个表只能创建一个聚合索引;

在每个表中最多可以创建249个非聚集索引。

d,在经常被查询的字段上设置索引;

e,定义文本、图像和位数据类型的裂缝不能创建索引;

f,索引可以在外键列上创建,主键必须有索引。

在没有查询的几个列上没有建立索引。

(2)方法:A,使用SQL Server Management Studio创建索引。

B,使用创建的T-SQL语句来创建一个索引表

当使用创建表或更改表语句来定义表列的主键约束或唯一性约束时,将自动创建主键索引和唯一索引。

这是说的T-SQL语句创建一个索引:

语法:复制代码代码如下:创建索引创建{唯一} {关系聚集|聚集}指标上index_name(柱{ ASC | DESC } {,} {…n)包括(column_name {,} {…}){,}(…} } } } { onfilegroup_name N
说明:1、包括(column_name {,}…n)指定的非键列的叶层被添加到非聚集索引。

2、对filegroup_name,创建指定文件组指定的索引。

例如,在课程表的聚集索引在。是为课程代码列创建的。

复制代码如下:使用db_student创建群集课程指数在(课程代码)

2、索引视图:(1)、使用SQL Server管理工作室查看索引信息

(2)使用系统查询的索引信息的存储过程,返回所有的索引表中的信息与sp_helpindex

例如:查看课程表的索引信息。

使用db_student execsp_helpindex课程{ /代码}
3、修改索引:

(1)修改SQL Server Management Studio中的索引

(2)使用索引语句修改索引

下面是一个例子。

在课程数据表中,修改所有索引并指定选项

复制代码如下:使用db_student alterindex所有课程重建(FILLFACTOR = 80,sort_in_tempdb =,=在statistics_norecompute)
4、删除索引:

(1)使用SQL Server Management Studio删除索引

(2)使用下拉索引语句删除索引

例如,在课程表中,删除在指数

复制代码如下:使用db_student下降指数course.zindex
三、指标的分析与维护:
分析:1、使用SHOWPLAN语句

语法:集showplan_all {在|了},{在} |下集showplan_next

示例:显示表课程的课程代码、课程类型、课程内容,并显示查询过程。

复制代码如下:使用db_student集showplan_all选择课程代码,课程类型课程内容课程,课程内容= 'loving
2,使用统计IO语句

语法:{在} IO统计|关闭和关闭显示与不显示,使用相同的方法和相同的方式。

保养:1、dbcc showcontig语句用于显示数据和指定的表索引碎片信息。当大量的修改或添加数据表,该表应执行是否有碎片。

语法:dbcc showcontig { { table_name | table_id | view_name | view_id },index_name | index_id }快

2、使用DBCC DBREINDEX语句意味着重构数据库中的表的一个或多个索引。

语法:复制代码代码如下:DBCC DBREINDEX({ 'database。主人。table_name{,} } } FILLFACTOR index_name {,}){ withno_infomsgs

描述:database.owner.table_name,重建索引的表的名称

index_name,是要重建索引名称

FILLFACTOR,空间是用来存储数据的每个索引页上创建索引的百分比。

与no_infomsgs,禁止所有信息消息显示
3、使用DBCC indexdefrag,整理汇总指标和辅助指标片段指定表或视图。

语法:复制代码代码如下:DBCC indexdefrag({ database_name | database_id | 0 },{ table_name | table_id | 'view_name| view_id },{ index_name | index_id })与no_infomsgs。
总结,只有我们的指数已经完全熟悉;我们有索引的增删改查四个基本操作,学会使用SQL Server managersdudio实现这些功能,并学会使用T-SQL语句实现(使用SQL Server管理sdudio感觉有些简单);也学会了如何分析和维护索引。这将使我们的服务更好!
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部