- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SQL Server 2005 数据库应用与开发
制作:申伟
电子邮箱:wactm@126.com
第07章 索引和视图
内容提要:
在SQL Server 2005中,有效的索引是影响数据库性能的因素中最重要的一项,一个完善、良好的索引可以显著提高数据库的性能。
视图是从一个或几个基表(或视图)导出的虚拟表。视图中行和列数据来源于由定义视图的查询所引用的表,并且在引用视图时动态生成。
统计信息是查询优化器进行查询优化的依据,及时更新统计信息对优化的效果至关重要。实现对统计信息的创建及更新功能有自动和手动两种方式。
第07章 索引和视图
7.1 规划索引
7.2 创建索引
7.3 维护索引
7.4 统计信息及应用
7.5 视图的定义
7.6 视图的修改
7.7 通过视图修改数据
7.8小结
7.1 规划索引
7.1.1索引的用途
概念:SQL Server的索引是一个单独的、物理的数据结构,是为了加速对表中数据行的检索而创建的一种分散的存储结构。
索引是针对一个表而建立的,每个索引页面中的行都含有逻辑指针,指向数据库表中的物理位置,以便加速检索物理数据。
索引包含从表或视图中一个或多个列生成的键,以及映射到指定数据的存储位置的指针。当SQL Server 2005执行查询时,查询优化器会对可用的数据检索方法的成本进行估计,从中选用最有效的查询计划。
7.1 规划索引
7.1.1索引的用途
在数据库中使用索引的优点如下:
加速数据检索:索引能够提供以一列或多列的值为基础迅速查找或存储表的行的能力。
加速连接、排序和分组:连接、排序和分组都需要数据检索,在建立好索引后,其数据检索速度会加快,从而加速连接等操作。
优化查询:在执行查询时,都会先对查询进行优化。查询优化器是依赖于索引起作用的,用于决定到底哪些索引可以使该查询最快。
强制实施行的唯一性:通过给列创建唯一索引,可以保证表中的数据不重复。
7.1 规划索引
7.1.2索引的类型
SQL Server 2005中提供的索引类型如表7.1所示,其中常用的有聚集索引、非聚集索引和唯一索引3种类型。
聚集索引和非聚集索引是按照索引的存储结构划分的,而唯一索引和非唯一索引是按照索引取值划分的。
(1)聚集索引。在聚集索引中,索引键值的顺序与数据表中记录的物理顺序相同,由于记录行只能按一个物理顺序存储,因此每个表只能有一个聚集索引。
7.1 规划索引
7.1.2索引的类型
(2)非聚集索引。非聚集索引具有独立于数据行的结构,非聚集索引的每个键值项都有指向包含该键值的数据行的指针。每个表最多可以创建249个非聚集索引,用以满足多种查询的需要。
(3)唯一索引。唯一索引可以确保所有数据行中任意两行的索引列不包括NULL在内的重复值。
创建主键约束时,如果表上还没有创建聚集索引,则SQL Server 将自动在创建主键约束的列或组合上创建聚集唯一索引,主键列不允许为空值。
7.1 规划索引
7.1.3 设计索引的基本原则
在数据库表上设计索引时,应考虑以下常用的基本原则:
一个表创建大量索引,会影响INSERT、UPDATE和DELETE语句的性能。
若表的数据量大,对表数据的更新较少而查询较多,可以创建多个索引来提高性能。
当视图包含聚合、表连接或两者的组合时,在视图上创建索引可以显著的提升性能。
可以对唯一列或非空列创建聚集索引。每个表只能创建一个聚集索引。
在包含大量重复值的列上创建索引,查询的时间会较长。
若查询语句中存在计算列,则可考虑对计算列值创建索引。
索引大小的限制,最大键列数为16,最大索引键大小为900字节。在实际创建时一定要考虑此限制。
7.2 创建索引
SQL Server 2005 中创建索引的方法包括:
使用SQL Server Management Studio创建索
利用CREATE INDEX语句创建索引
在CREATE TABLE或ALTER TABLE语句为定义或修改表结构时自动创建索引。
创建索引之前,应该考虑到权限问题,只有表的拥有者才能在表上创建索引。
在创建聚集索引时还要考虑到数据库剩余空间的问题,创建聚集索引时所需要的可用空间是数据库表中数据量的120%。如果空间不足会降低性能,甚至导致索引操作失败。
7.2 创建索引
7.2.1利用SQL Server Management Studio创建索引
使用SQL Server Management Studio创建独立于约束的聚集索引的操作步骤如下:
(1)展开“资源管理器”|“数据库”|teaching数据库|“表”。
(2)选择表并展开,右击“索引”项,在快捷菜单中选择“新建索引”命令。
(3) 在弹出的“新建索引”对话框中,选择“常规”选项卡,输入所引名称C_student如图7.1所示。设
文档评论(0)