SQLServer2008第7章索引与视图

合集下载

索引与视图

索引与视图
13 13
7.2 索引的操作
7.2.4 删除索引
索引会减慢INSERT、UPDATE和DELETE语句的执行 速度。如果发现索引阻碍整体性能或不再需要索引,则可将 其删除。
1.使用企业管理器删除索引 方法一:1)在数据库关系图中选择要删除索引的表,右 键单击,从快捷菜单中选则“索引/键(X)”;或在弹出菜 单中选则“属性” →“索引/键”,出现“属性” 对话框, 选“索引/键”选项卡,编辑索引信息。 3)从“选定的索引”列表中选择要删除的索引,并选择 “删除”按钮。
(5)单击“下一步”按钮,在“指定索引选项”中指定索 引属性即索引类型和填充因子。 (6)然后单击“下一步”按钮,进入完成创建索引向导窗 口,输入索引名,单击“完成”按钮。 (7)单击“确定”按钮,关闭提示窗口。 2.使用企业管理器直接创建索引 (1)在企业管理器中,展开“数据库”选项夹下的“表” 选项夹,在右边的列表中用鼠标右键单击要创建索引的表, 在弹出菜单中选“所有任务→管理索引”菜单项,弹出“管 理索引”对话框。 (2)单击“新建”,弹出“新建索引”对话框 (3)输入要创建的索引的名称,选择用于创建索引的列, 设置索引的各种选项,单击“确定”
2)在“管理索引”对话框中的“现有索引”中选择需要编 辑的索引,单击“编辑”,弹出“编辑现有索引”对话框。
3)在对话框中修改索引设置,还可单击“编辑SQL”按钮, 在SQL脚本编辑框中编辑、测试和运行索引的SQL脚本。
12 12
2.使用系统存储过程更改索引 语法格式: sp_rename OldName,NewName[,object_type] OldName:需要更改对象原来的名称,包括它的路径。 NewName:对象更改后的名称 object_type :对象类型,索引对象用index表示,字段对 象用column表示。 例7-3 更改employee表中索引employee_index_1名称为 employee_index_id。 USE Sales GO EXEC sp_rename 'employee.employee_index_1','employee_index_id','index'

第7章 视图的创建与使用

第7章 视图的创建与使用
例如:建立视图 例如 建立视图complex_view,求出部门号和每个部门的人数 建立视图 求出部门号和每个部门的人数 CREATE VIEW complex_view AS SELECT deptno ,COUNT(*) AS 'Pcount' GROUP BY deptno 复杂视图不能直接进行增、 复杂视图不能直接进行增、删、改操作,如果进行修改操作,要通过 改操作,如果进行修改操作, INSTEAD OF触发器进行。 触发器进行。 触发器进行 4
事务提供了一种机制, 事务提供了一种机制,可用来将一系列数据库更改归入一个逻辑操 更改数据库后, 作。更改数据库后,所做的更改可以作为一个单元来提交或取消 事务可确保遵循原子性、一致性、 事务可确保遵循原子性、一致性、隔离性和持久性 (ACID) 这几种 属性, 属性,以使数据能够正确地提交到数据库中 事务可以分为如下类型: 事务可以分为如下类型: 显式事务 隐式事务 自动提交事务 Transacti-SQL使用下列语句来管理事务 使用下列语句来管理事务 BEGIN TRANSACTION COMMIT TRANSACTION ROLLBACK TRANSACTION
2
创建视图
创建视图的方法有两种:使用 创建视图的方法有两种:使用SSMS和T-SQL语句 和 语句
使用SSMS创建视图 创建视图 使用 使用T-SQL语句创建视图 语句创建视图 使用
语法: 语法 CREATE AS VIEW view_name 演示
<select 语句> 语句 示例:创建视图,显示部门表中部门名称和位置 示例 创建视图, 创建视图
第十章
事务、索引和视图 事务、
课程内容回顾
变量的含义和作用 SQLServer在T-SQL中支持下列两种类型的变量:全局变 中支持下列两种类型的变量: 在 中支持下列两种类型的变量 量和局部变量 局部变量的定义和赋值 输出结果的两种方式 批处理和注释 控制流语句 语句块

实验六:关系图、索引和视图的定义及维护

实验六:关系图、索引和视图的定义及维护

实验六:关系图、索引和视图的定义及维护一、实验目的1.掌握创建关系图的方法。

2.掌握创建、查看和删除索引的操作和方法。

3.理解视图的含义,能使用SQL Server企业管理器创建视图并对其进行管理。

二、实验环境已安装SQL Server 企业版的计算机(120台);具有局域网环境,有固定IP;三、实验学时2学时四、实验要求1.索引和视图的创建和管理也可以用查询分析器实现,参照课本上的相关Transact-SQL命令,写出对应的Transact-SQL实现代码。

2.将视图的创建、修改、删除过程与实验二中表的创建、修改、和删除进行对照,看看有什么相同点和不同点。

3.完成实验报告;五、实验内容及步骤以系统管理员身份登录到SQL Server服务器,在SQL Server2005界面中实现第1题操作,其余题目用SQL Server2005界面及T-SQL 语句实现:1.使用创建数据库关系图向导为学生选课数据库中的Student表,Course表,SC表创建关系图。

2.为Student表创建一个基于Sname(姓名)的按降序排列的聚簇索引Stusname。

CREATE CLUSTERED INDEX Stusname ONStudent(Sname DESC)3.为学生—课程数据库中的Student,Course,SC 3 个表建立索引。

其中student按学号升序建唯一索引,course按课程号升序建唯一索引,SC按学号升序和课程号降序建唯一索引,索引名称分别为Stusno,Coucno,Scno。

CREATE UNIQUE INDEX Stusno ON Student(Sno);CREATE UNIQUE INDEX Coucno ON Course(Cno);CREATE UNIQUE INDEX SCno ON SC(Sno ASC,Cno DESC);4.删除 Student表中的Stusname索引。

第7章 索引

第7章 索引

第7章索引关键词:索引索引类型创建索引查看索引删除索引学习要求:本章主要阐述了SQL Server 2000中索引的创建和使用方法。

并且全面地、系统地介绍了索引的概念、索引的优点;索引的分类;创建、修改和删除索引的方法。

重点分析了索引的创建和使用方法。

学习和掌握本章,是对SQL Server 2000数据库的灵活运用。

7.1 索引简介引言索引是对数据库表中一个或多个列的值进行排序的结构。

索引是一个表,这个表中包含了某个表中一列或者多列值的集合,以及这些值在数据表中的存储位置的物理地址。

利用索引可以快速访问数据库表中的特定信息,它可以使数据库程序无须对整个表进行扫描,就可以在其中找到所需数据,因为索引是有序排列的,所以,可以通过高效的有序查找算法(如折半查找等)找到索引项,再根据索引项中记录的物理地址,找到查询结果的存储位置。

7.1.1 创建索引的原因索引是为了加速检索而创建的一种存储结构。

索引的优点:● 提高查询速度。

● 提高连接、ORDER BY和GROUP BY执行的速度。

● 查询优化器依靠索引起作用。

在执行查询时,SQL Server会自动对查询进行优化。

但是SQL Server的优化是依靠索引来进行的。

因此,在建立索引后,SQL Server会依据建立的索引,决定采取哪些索引,使得检索的速度最快。

● 强制实施行的惟一性。

创建惟一索引,可以保证表中的数据不重复。

7.1.2 建立索引应该考虑的问题索引的创建可提高查询速度,但它是以占用更多的存储空间为代价的,所以选择在哪些属性上建立索引就至关重要。

一个原则就是创建了索引后查询效率应该得到明显的改善。

通常可以在主键、外键、作为连接的属性、经常查询的属性上建立索引。

有关建立索引的原则已在第1章讨论过。

7.2 索引类型7.2.1 B_树索引结构一棵秩为d的B树应满足(秩是与物理块大小有关的量):(1)以块为结点,每块最多包含2d个关键字。

(2)除根结点外,每个结点至少包含d个关键字(根结点至少包含一个关键字)。

sql server 2008案例教程及实训 第7章 视图

sql server 2008案例教程及实训 第7章 视图

update V_BookInfo2 set 价格=30
能运行么?
7.3.3 使用视图管理表中的数据
4.使用视图删除数据 【例7.15】使用T-SQL语句删除视图V_BookInfo2中图书编号 为“0341-3601”的图书记录。 代码如下:
delete from V_BookInfo2 where 图书编号='0341-3601'
7.3.1 创建视图
【例7.10】使用T-SQL语句,在“图书借阅信息管理系统” 数据库中,基于基表“BookInfo”创建一个名为 “V_BookInfo2”的视图,要求其中的内容是所有价格低 于30的低价图书,并加密视图的定义。
代码如下:
create view V_BookInfo2 with encryption as select * from BookInfo where 价格<30
查询定义信息:
Sp_helptext V_BookInfo2
7.3.1 创建视图
【例7.11】使用T-SQL语句,在“图书借阅信息管理系统”
数据库中,基于基表BookInfo、BorrowList和
ReaderCard三张表,创建一个名为“V_BBR”的视图,
要求其中内容包括借书证编号、读者姓名、图书名称。
7.3.3 使用视图管理表中的数据
1.使用视图查询数据 用户可以通过T-SQL语句对视图进行查询,其基
本语法是:
select * from view_name
7.3.3 使用视图管理表中的数据
2.使用视图插入数据 当向视图中进行插入或更新数据时,实际上就是对视
图所基于的表执行数据的插入和更新,但通过视图进行插入 和更新操作时有如下一些限制: (1)在一个语句中,一次不能修改一个以上的视图基表。 (2)对视图中所有列的修改必须遵守视图基表中所定义的各 种数据约束条件。 (3)不允许对视图中的计算列进行修改,也不允许对视图定 义中包含有聚合函数或GROUP BY子句的视图进行插入或修 改操作。

项目7 CJGL数据库索引和视图设计

项目7 CJGL数据库索引和视图设计

SQL Server 2008项目实训教程
视图的管理
修改视图 删除视图 查看视图 目实训教程
修改视图
通过Management Studio 使用ALTER VIEW语句修改视图 语法格式如下。

ALTER VIEW 视图名 [(column[,...n])] [WITH ENCRYPTION] AS select_statement [ WITH CHECK OPTION ]
SQL Server 2008项目实训教程
视图的作用
简化操作
提高数据安全性 屏蔽数据库的复杂性
数据即时更新
说明:
视图一经定义后,就可以像基本表一样可以被查询、删除。 视图为查看和存取数据提供了另外一种途径。
SQL Server 2008项目实训教程
创建视图


使用Management Studio 使用Create View
SQL Server 2008项目实训教程
创建视图--使用Create View(续)
【例3】在CJGL数据库中,为教务管理部门用户创建视图“view_class”,包 括班级编号、班级名称、所属系部名称和人数,并按照系部名称升序排序。 create view view_class as select C.班级编号, 班级名称,系部名称,count(学号) 人数 from 班级表 C join 部门表 D on C.系部编号 = D.系部编号 join 学生表 S on C.班级编号 = S.班级编号 group by C.班级编号, 班级名称,系部名称 order by 系部名称

DROP INDEX 索引名
说明: 如果聚集索引是在表创建主键约束时自动创建的索引,那 么无法利用DROP INDEX语句来删除。

MSSQLserver2008全文索引简明教程

MSSQLserver2008全文索引简明教程

Sql2008全文索引简明教程如果不存在此服务的,需要确认是否安装全文索引功能--检查数据库PS2是否支持全文索引,如果不支持 --则使用sp_fulltext_database 打开该功能if(select databaseproperty('PS2','isfulltexte nabled'))=0execute sp_fulltext_database 'en able'全文目录是用来存储全文索引的-J 20193^0 L J 两据犀关系图 I+I 一I 表 SOm 」同丈词(±1 口可骗程性s s ervi ce Broker" 曰立存$ ___________全文目录gTtsCi+i 」吩氏方案 田LJI 分N 全文非索引宝表 N 責金性二、为表定义全文索引、新建全文目录、开启 SQL Full-text Filter Daemon Launcher服务提醒:开始-> 管理工具-> 服务r 斬建苴直血* :H 1**相疔© ►■《痒7圍T 警喝團口二(FS4 J J*^OTu+于斬建衰00… 设计◎诰择前1000行⑴ 编辑前200 循写裳脚本対© 直看依赖关条S存储(A)定文全文家引®)■■启用全交索引⑷.选中需要操作的数据库,启用全文检索执行 SQL 语句,启用全文检索:Execute sp_fulltext_database 'enable'文住㈤ 堀辑砂 査昏© 査冏畑 顶目即 碉试⑴ 工旦⑵ gnix) tizt) 朝韵onSQTJDnP 育X 塔Tat orExecute st XulLtext database j enetle"l_ 出.ZQLGmru 10.S) 1GJ7 TIN IOSH04TOOD\AJjkiLiiili .id ) 0 一I 埶囁岸S I 」.赛、樹摘屋 Eh 」数瘫慣磐回 J 20ie_i f在需要全文检索的 数据表上点击右键-> 全文索引-> 定义全文索引2013_bS一i 数拥库关系图d 克四、点击下一步,按提示选择 1•确认下一步+d.bo. d.3 3 a [+ E+f+E EEIbo. li llo.王E国匡一ibc. dild.j ibo. i]d.bo. diibe. iiibc. Aillbo. i]2•选择唯一索引,通常是主键3•选择要建立的全文索引列,对于断字符的选择如果列存的是中文就选择chinese如果是英文就选择English4•选择索引更新方式,可以先自动更新,以后数据量大了可以设置添加全文索引的计划5•选择全文目录Oddness赤水市旅游车 赤水床狒车站五、全文索引的SQL 查询关键字 建立好全文索引后就可以使用 SQL 语句来查询了,主要用带三个关键字 CONTAINS FREETEXTCONTAINSTABL K FREETEXTTABLE 1. CONTAINS搜索单个词和短语的精确或模糊的匹配项, 要搜索的内容必须是个有 意义的词语,比如说 苹果” 建设厅”不能是一些没意义的词语, 比如 阿迪撒啊是”儿儿的”这样的词语即使LIKE 是能查询出来,但全文索引对这样没意义的词语可能没有建立索 引,查不出来SELECT FROMdbo.BusinessWHERECONTAINS (Addres 旅游') 实现功能:查询Business 表中Address 列包含 旅游”的行>essiD BusinesslypelD Busiiesslype Name MarneF*honeBusiness Scopemi 3宾馆©店赤水红城商劳宾馆 D852-29M7S9 42 円26会師0£53 28S6111详细查看: /zh -cn/Iibrary/ms187787.aspx 2. FREETEXT和CONTAIN 啖似,不同的是它会先把要查询的词语先进性分词然后 在查询匹配项select* from dbo.Bus in ess where freetext (Address,'带婴儿旅游')BosinessScone AddressURL QQPin^n赤水市齢车站咅http;//qghQswtiQ林市步行衔爱多爭婴儿游济http://addlyyyg赤水时车站妾hrttpz//26hs详细查看: /zh -cn/library/ms176078.aspx 3. CONTAINSTABLE 在查询方式上与 CONTAINS 几乎一样。

索引与视图

索引与视图

6 6
8.1 使用索引
(4) 包含性列索引
一种非聚集索引,它扩展后不仅包含键列,还包含非键 列。
(5) 索引视图
视图的索引将具体化(执行)视图,并将结果集永久存储在 唯一的聚集索引中,而且其存储方法与带聚集索引的表的存 储方法相同。创建聚集索引后,可以为视图添加非聚集索引。
7 7
8.1 使用索引
11 11
8.1 使用索引
如果索引包含多个列,则应考虑列的顺序 。
用于等于 (=)、大于 (>)、小于 (<) 或BETWEEN搜索条件 的WHERE子句或者参与联接的列应该放在最前面。其他列 应该基于其非重复级别进行排序,就是说,从最不重复的列 到最重复的列。
考虑对计算列进行索引 。
12 12
9 9
8.1 使用索引
(2) 查询准则
为经常用于查询中的谓词和联接条件的所有列创建非聚 集索引。
涵盖索引可以提高查询性能,因为符合查询要求的全部 数据都存在于索引本身中 。 将插入或修改尽可能多的行的查询写入单个语句内,而 不要使用多个查询更新相同的行。 评估查询类型以及如何在查询中使用列 。例如,在完全 匹配查询类型中使用的列就适合用于非聚集索引或聚集索引。
17 17
8.1 使用索引
将索引创建为约束的一部分后,会自动将索引命名为与 约束名称相同的名称。 独立于约束的索引 指定非聚集主键约束后,可以对非主键列的列创建聚集 索引 索引视图 若要创建索引视图,需要对一个或多个视图列定义唯一 聚集索引。视图将具体化,并且结果集存储在该索引的页级 别中,其存储方式与表数据存储在聚集索引中的方@字符开头。
column:索引所基于的一列或多列 。
指定两个或多个列名,可为指定列的组合值创建组合索 引。在table_or_view_name后的括号中,按排序优先级列出 组合索引中要包括的列 。 一个组合索引键中最多可组合16列。组合索引键中的所 有列必须在同一个表或视图中 。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2.使用系统视图查看索引信息 (1)系统视图sys.indexes

sys.indexs用于显示数据库元数据中存储的 索引类型/文件组或分区方案ID和索引选项 的当前设置。

例7-7
(2)系统视图sys.index_columns

sys.index_columns可以查看索引的列ID、 索引内的位置、索引列的排序顺序等。
聚集索引上的非聚集索引

当在一个聚集索引上构建非聚集索引时, 索引中的指针值就是数据行的聚集索引 键值。一旦定位到索引值,SQL Server 就使用聚集键导航聚集索引来检索所有 需要的列。
唯一索引


唯一索引是指索引值必须是唯一的,不允许数 据表中具有两行相同的索引值。 聚集索引和非聚集索引是从索引数据存储的角 度来区分的;而唯一索引和非唯一索引是从索 引值来区分的,所以唯一索引和非唯一索引既 可以是聚集索引,也可以是非聚集索引,只要 列中的数据是唯一的,就可以在一张表中创建 一个唯一索引和多个非聚集索引。
第7章 索引与视图
本章的学习目标:


索引的优点和缺点 聚集索引和非聚集索引的特点 索引的类型 视图的概念、特点和类型 使用CREATE VIEW语句创建视图 通过视图修改基表中的数据
7.1 索引概述

通过创建和设计良好的索引进行数据查 询,可以显著提高数据库查询和应用程 序的性能,减少磁盘I/O操作,降低系统 资源的消耗。
1.索引文件架构
(1)堆文件 堆是不含聚集索引的表,表中的数据没有任何的顺序。 堆结构中数据按照插入的先后次序存放,堆文件的数 据页面不一定在物理上相邻。堆文件执行插入操作很 容易,但是效率不高。 (2) B+树的总体结构 B+树(Balance树,平衡树)是目前广泛采用的动态文 件结构. 在B+树索引中,索引分级组织成一棵树。最上层的索 引节点称为根节点,中间节点按照索引数据量分成不 同的层次。最下层的索引节点称为叶节点。
非聚集索引


非聚集索引是一种数据表的物理顺序与索引顺 序不相同的索引。非聚集索引与聚集索引具有 相同的B树结构,但是在非聚集索引中,基础 表的数据行不是按照非聚集键的顺序排序和存 储,且非聚集索引的叶级是由索引页而不是由 数据页组成。 非聚集索引既可以定义在表或视图的聚集索引 上,也可以定义在表或视图的堆上。

索引是一种与表或视图关联的物理结构, 能提供一种以一列或多列的值为基础迅 速查找表中行的能力,用来加快从表或 视图中检索数据行的速度
7.1.2 索引的分类

在Microsoft SQL Server 2008 R2系统中 有两种基本的索引类型:聚集索引和非 聚集索引。除此之外,还有唯一性索引、 包含性列索引、索引视图、全文索引及 XML索引等。
(3)在“选择页”窗格中选择“常规”项,输入索引名 称“入住时间_index”,选择非聚集索引类型,单击 “添加”按钮,打开“选择列”对话框,如图7-5所示。 在该窗体中选择“入住时间”字段作为索引列,单击 “确定”按钮,返回“新建索引”对话框。 (4)在“选项”页可设置索引的填充因子等参数,填充 因子指示索引页的填满程度。在“包含性列”页中, 设置索引页还可以包含的其他非键列。在“存储”页, 可以对指定的文件组或分区方案建立索引。在“空间” 页可以设置空间索引的空间属性。在“筛选器”页可 以定义筛选索引的筛选表达式。 (5)设置完成后,单击“确定”按钮,则该索引创建完 成。
1. 直接使用Microsoft SQL Server Management Studio创建索引。


(1)从“开始”菜单上选择“程序”| Microsoft SQL Server 2008 R2| SQL Server Management Studio命令,使用Windows或 SQL Server身份验证建立连接。 (2)在“对象资源管理器”窗口中,打开要 建立索引的表“业务记录”表,单击前面的 “+”,展开选项,右键单击“索引”项,选择 “新建索引”命令,打开“新建索引”对话框
7.1.1 索引的基本概念

数据库系统用下列两种方法之一来访问数据:
(1)表扫描,就是指系统将指针放在该表的表头数据所在的数 据页上,然后按照数据页的排列顺序,逐页地从前向后扫描 该表数据所占有的全部数据页,直至扫描完表中的全部记录。 在扫描时,如果找到符合查询条件的记录,那么就将这条记 录挑选出来。最后,将全部挑选出来符合查询语句条件的记 录显示出来。 (2)使用索引查找。索引是一种树状结构,其中存储了关键字 和指向包含关键字所在记录的数据页的指针。当使用索引查 找时系统将沿着索引的树状结构,根据索引中关键字和指针 找到符合查询条件的记录。最后将全部查找到的符合查询语 句条件的记录显示出来。

创建一个非聚集索引时,应该注意下列事项:
(1)如果没有指定索引类型,那么默认的类型是非聚集索引。 (2)索引页的叶级只包含索引的关键字,不包含实际的数据 (3)每个表最多可以创建249个非聚集索引。 (4)聚集索引应在非聚集索引被创建之前创建。 (5)唯一性是由叶级维护的。 (6)以下情况发生时,SQL Server会自动重建现有的非聚集索 引: 删除现有的聚集索引时 创建聚集索引时 使用DROP_EXISTING选项来改变聚集索引列的定义时

例7-8
3.使用系统函数查看索引信息 (1)系统函数 sys.dm_db_index_usage_stats

sys.dm_db_index_usage_stats用于显示不 同类型索引操作的计数以及上次执行每种操 作的时间。

例7-9
(2)系统函数 sys.dm_db_index_operational_stats


例7-1 例7-2 例7-3 例7-4 例7-5 例7-6
7.2.2 查看索引
1.直接使用Microsoft SQL Server Management Studio查看索引 (1)在“对象资源管理器”窗口中,打开要查 看索引的表“客房信息”表,单击右键,在弹 出菜单中,选择“设计”,进入表设计器。 (2)在“表设计器”中,打开“索引/键”窗口。 如图7-6所示。可以查看表的所有索引,选中 某个索引后还可以查询该索引的名称和列字段 等属性。
7.2 索引的操作
7.2.1 创建索引 创建索引的方式可以分为直接方法和间接方法。

直接创建索引的方法就是使用命令和工具直接创建索引。 间接创建索引就是通过创建其他对象而附加创建了索引。

主键约束或唯一性约束创建的索引的优先级高于使用 CREATE INDEX语句创建的索引。当在表上定义主键或 唯一性约束时,如果表中已经有了使用CREATE INDEX 语句创建的标准索引时,那么主键约束或唯一性约束 创建的索引覆盖以前创建的标准索引。

sys.dm_db_index_operational_stats用于显 示数据库中表或索引的每个分区的当前低级 I/O、锁定、闩锁和访问方法活动。

例7-10
7.2.3维护索引
1. 直接使用Microsoft SQL Server Management Studio修改与维护索引 (1)从“开始”菜单上选择“程序”| Microsoft SQL Server 2008 R2| SQL Server Management Studio命令,使用Windows或SQL Server身份 验证建立连接。 (2)进入对象资源管理器,展开指定的服务器和数据库项,并展开要查 看的表,从选项中选择“索引”选项,则会出现表中已存在的索引列表。 双击某一索引名称,则会出现索引属性对话框,在“索引属性-常规”标 签页上可以修改索引类型、索引键列等。如图7-7所示。 (3)在“索引属性-选项”标签页中可以勾选是否重新计算索引统计信 息。索引统计信息对维护索引的性能具有指导作用。还可以设置填充因 子。 (4)在“索引属性-存储”标签页中可以修改索引的文件组和分区属性。 (5)在“索引属性-碎片”标签页中。 (6)在“索引属性-扩展属性”标签页中主要包含数据库名称、排序规 则等。






UNIOUE选项表示创建唯一性的索引,这时在索引列中不能有相同的两个列值存在。CLUSTERED选项表示创 建聚集索引。NONCLUSTERED选项表示创建非聚集索引,非聚集索引是CREATE INDEX语句的默认值。 第一个ON关键字表示索引所属的表或视图,这里用于指定表或视图的名称和相应的列名称。列名称后面可以 使用ASC或DESC关键字,指定升序排列或降序排列,其默认值是ASC。第二个ON关键字用于指定该索引所在 的分区方案或文件组名称。 INCLUDE子句用于指定将要包含到非聚集索引的页级中的非键列。 PAD_INDEX选项用于指定索引的中间页级,也就是说为非叶级索引页指定填充度。这时的填充度由 FILLFACTOR选项指定。 FILLFACTOR选项用于指定叶级索引页的填充度。 SORT_IN_TEMPDB选项为ON时,用于指定创建索引时产生的中间结果,在tempdb数据库中进行排序。该选 项为OFF时,在当前数据库中排序。 IGNORE_DUP_KEY选项用于指定唯一性索引键冗余数据的系统行为。当为ON时,系统发出警告信息,只有 违反唯一性行的数据插入失败。该选项为OFF时,取消整个INSERT语句并且发出错误信息。 STATISTICS_NORECOMPUTE选项用于指定是否重新计算分发统计信息。为ON时,不自动计算过期的索引统 计信息。为OFF时,启动自动计算功能。 DROP_EXISTING选项用于是否可以删除指定的索引并且重建该索引。为ON时,可以删除并且重建已有的索 引。为OFF时,不能删除重建。 ONLINE选项用于指定索引操作期间基础表和关联索引是否可用于查询。为ON时,不持有表锁,允许用于查 询。为OFF时,持有表锁,索引操作期间不能执行查询。 ALLOW_ROW_LOCKS选项用于指定是否使用行锁,如果为ON,表示使用行锁。 ALLOW_PAGE_LOCKS选项用于指定是否使用页锁,如果为ON,表示使用页锁。 MAXDOP选项用于指定索引操作期间覆盖最大并行度的配置选项,主要目的是限制执行并行计划过程中使用 的处理器数量。
相关文档
最新文档