第5章索引与视图.pptx
第5章索引与视图SQLServer2019数据库技术与应用
目录CONTENTS5.1索引5.2视图
索引5.15.1.1索引的概念索引是对数据库表中一列或多列按照一定顺序建立的列值与记录之间的对应关系表。索引的作用:加速数据检索加速排序、分组、连接等操作实现表与表之间的参照完整性保证数据记录的唯一性第5章索引与视图
索引5.15.1.1索引的概念索引是对数据库表中一列或多列按照一定顺序建立的列值与记录之间的对应关系表。索引的作用:加速数据检索加速排序、分组、连接等操作实现表与表之间的参照完整性保证数据记录的唯一性第5章索引与视图索引的代价:物理存储空间中除了存放数据表之外,还需要一定的额外空间来存放索引。对数据表进行插入、修改、删除操作时,相应的索引也需要动态维护更新,消耗系统资源
索引5.15.1.2索引的结构与分类第5章索引与视图SQLServer2019中提供的索引类型主要有:聚集索引、非聚集索引、唯一索引、索引视图、全文索引、空间索引、XML索引根据索引的存储结构不同,将其分为:聚集索引非聚集索引两类
索引5.15.1.2索引的结构与分类第5章索引与视图根据索引的存储结构不同,将其分为:聚集索引(Clustered)是将数据行的键值在数据表内排序并存储对应的数据记录,使得数据表的物理顺序与索引顺序一致。一个表中只能创建一个聚集索引
索引5.15.1.2索引的结构与分类第5章索引与视图根据索引的存储结构不同,将其分为:非聚集索引两类(Non-Clustered)具有完全独立于数据行的结构。数据存储在一个地方,索引存储在另一个地方。在非聚集索引内,每个键值项都有指针指向包含该键值的数据行。一个表中可以有一个或多个非聚集索引
索引5.15.1.2索引的结构与分类第5章索引与视图SQLServer2019还提供了的索引类型有:唯一索引:建立索引的字段值不能重复索引视图:在视图上添加索引后能提高视图的查询效率全文索引:一种特殊类型的基于标记的功能性索引空间索引:一种针对geometry数据类型的字段建立的索引XML索引:是与XML数据关联的索引形式
索引5.15.1.3索引的创建与使用索引的创建第5章索引与视图使用图形化界面向导创建索引以在StInfo表中按StID列建立聚集索引为例1)启动SSMS
索引5.15.1.3索引的创建与使用索引的创建第5章索引与视图使用图形化界面向导创建索引2)打开“新建索引”窗口,在该窗口中输入索引名称(索引名在表中必须唯一),如CX_stid,索引类型为“聚集”,勾选“唯一”复选框,单击“新建索引”窗口的“添加”按钮
索引5.15.1.3索引的创建与使用索引的创建第5章索引与视图使用图形化界面向导创建索引3)在弹出的“选择要添加到索引中的表列”窗口中,勾选要添加的列StID的复选框,单击“确定”按钮。4)在“新建索引”窗口中,单击“确定”按钮,即完成索引的创建工作
索引5.15.1.3索引的创建与使用索引的创建第5章索引与视图使用“表设计器”创建索引在StInfo表中按StName列建立索引为例1)右击Student数据库中的dbo.StInfo表,在弹出的快捷菜单中选择“设计”命令,打开“表设计器”窗格。2)在“表设计器”窗格中,选择Stname列并右击,在弹出的快捷菜单中选择“索引/键”命令。
索引5.15.1.3索引的创建与使用索引的创建第5章索引与视图使用“表设计器”创建索引3)在打开的“索引/键”对话框中单击“添加”按钮,并在右边的“标识”属性区域的“(名称)”一栏中确定新索引的名称(用系统默认的名或重新取名)。4)单击“关闭”按钮,完成索引的创建。
索引5.15.1.3索引的创建与使用索引的创建第5章索引与视图使用CREATEINDEX语句创建索引语法格式:CREATE[UNIQUE][CLUSTERED|NONCLUSTERED]INDEX索引名ON表名或视图名(列名[ASC|DESC])参数说明:UNIQUE:表示为表或视图创建唯一索引(即不允许存在索引值相同的两行)。CLUSTERED|NONCLUSTERED:CLUSTERED表示创建聚集索引,NONCLUSTERED表示创建非聚集索引。缺省为NONCLUSTERED。
索引5.15.1.3索引的创建与使用索引的创建第5章索引与视图使用CREATEINDEX语句创建索引【例5.1】为CInfo表的CNo列创建聚集索引。CREATECLUSTEREDINDEXIX_cnoONCInfo(CNo)该IX_cno为聚集索引,创建索引时将对磁盘上的数据进行物理排序
索引5.15.1.3索引的创建与使用