- 1、本文档共65页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章
存储过程、事务、视图、索引
本章内容
索引:内容预览
索引
SQL Server数据访问方法
表扫描法:从表的起始处逐行查找,直至找到符合查询条件的记录为止。
索引法:系统会通过遍历索引结构来查找行的存储位置,相比表扫描法,效率大为提高。
索引的作用
增强数据记录的唯一性。
可以大大加快数据检索的速度。
加速表与表之间的连接,这在实现数据参照完整性方面有特殊的意义。
使用ORDER BY和GROUP BY子句进行检索数据时,可以显著减少在查询中排序和分组所占用的时间。
索引
索引使用的代价
维护索引,在对数据进行插入、更新和删除操作时会耗费系统时间。
在建立索引时,由于需要复制数据,也会耗费系统的时间和空间。
可在以下场合创建索引
主键、外键。
需要在指定范围快速或频繁查询的列。
需要排序的列。
在聚合函数中使用的列。
索引的使用场合
以存储结构区别,有“聚集索引”(Clustered Index,也称聚类索引、簇集索引)和“非聚集索引”(NonClustered Index,也称非聚类索引、非簇集索引)。
以数据的唯一性区别,有“唯一索引”(Unique Index)和“非唯一索引”(NonUnique Index)。
以索引列的个数区分,则有“单列索引”与“多列索引”。
索引分类
索引
聚集索引
非聚集索引
索引
唯一索引
非唯一索引
索引
单列索引
多列索引
聚集索引特点:
将数据行的值在表内排序,并存储对应的数据记录,使数据表物理顺序与索引顺序相一致。
当以某字段作为关键字建立聚集索引时,表中数据以该字段作为排序依据。
一个表仅能建立一个聚集索引,但该索引可以包含多个列(组合索引)
主键默认为聚集索引 。
聚集索引
非聚集索引特点:
完全独立于数据行的结构。
非聚集索引中的数据排列顺序并非表中数据的排列顺序。
一个表可以拥有多个非聚集索引,每个非聚集索引提供访问数据的不同排序顺序。
在默认情况下,SQL Server所建立的索引是非聚集索引。
非聚集索引
聚集索引VS非聚集索引
?
插入数据
速度
查询数据
速度
索引的数量
所需空间
聚集索引
慢
快
一表一个
少
非聚集索引
快
慢
一表可以
多个
多
系统自动创建索引
系统在创建表中的其他对象时,可以附带创建新索引。通常情况下,在创建UNIQUE约束或PRIMARY KEY约束时,SQL Server会自动为这些约束列创建聚集索引。
用户创建索引
使用SQL Server Management Studio的对象资源管理器。
利用T-SQL语句CREATE INDEX。
创建索引
现使用对象资源管理器在商品表的“团购价”字段上建立非聚集索引
使用SSMS创建索引
使用SSMS创建索引
使用SSMS创建索引
使用SSMS创建索引
CREATE [UNIQUE] [CLUSTERED|NONCLUSTERED]
INDEX index_name
ON table_name (column_name…)
使用T-SQL创建索引
在商品表的“商品编号”和“标题”字段上建立非聚集索引
CREATE NONCLUSTERED INDEX idx_Product_productID_title
ON Product(productID, title)
练习巩固上述语法
客户在预订线路时,经常需要根据线路名进行查询,并按价格排序显 示。如何使用索引技术提高检索。
通常在主外键、频繁查询的列、排序列和聚合函数列的字段上建立索引。依据需求,可在线路表的线路名和价格上建立索引。
系统需要经常获取每个客户预订线路的数量,如何使用索引技术提升查询效率?
实践练习
实践时间:
30分钟
视图:内容预览
视图(View)是一种数据库对象,是一个从一张表、多张表或视图中导出的虚表。视图的结构和数据是对数据表进行查询的结果。
视图仅存放视图的定义,不存放视图所对应的数据。
视图如果基表中的数据发生变化,则从视图中查询出的数据也随之改变。
视图的特点:
关注点聚焦
简化操作
定制数据
合并分割数据
提供安全机制
视图
使用SSMS管理平台,创建团购价高于400元的商品信息视图,用于查看商品类型名、商品标题和团购价。
视图创建完成后,点击“保存”并命名为“v_Product_Category”。通常约定视图名以“v”作为前缀,并用下划线连接基表名。
SELECT * FROM v_Product_Category。
使用SQLServer平台创建视图
使用SQLServer平台创建视图
使用SQLServer平台创建视图
使用SQLServer平台创建视图
创建视图的语法
CREATE VIEW [ schema_name . ] view_name???
文档评论(0)