ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:255.64KB ,
资源ID:18223899      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18223899.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(SQL SERVER数据库索引查询Word文档格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

SQL SERVER数据库索引查询Word文档格式.docx

1、书的目录指向了书的内容(通过页码),同样,索引是表的关键值,它提供了指向表中行(记录)的指针。目录中的页码是到达书内容的直接路径,而索引也是到达表数据的直接路径,从而可更高效地访问数据。可以利用索引快速访问数据库表中的特定信息。索引是对数据库表中一个或多个列的值进行排序的结构。索引提供指针以指向存储在表中指定列的数据值,然后根据指定的排序次序排列这些指针。数据库使用索引的方式与使用书的目录很相似:通过搜索索引找到特定的值,然后跟随指针到达包含该值的行。提示:通常情况下,只有当经常查询索引列中的数据时,才需要在表上创建索引。索引将占用磁盘空间,并且降低添加、删除和更新行的速度。不过在多数情况下,

2、索引所带来的数据检索速度的优势大大超过它的不足之处然而,如果应用程序非常频繁地更新数据,或磁盘空间有限,那么最好限制索引的数量。创建索引应考虑的主要因素有: 一个表如果建有大量索引会影响INSERT、UPDATE和DELETE语句的性能,因为在表中的数据更改时,所有索引都须进行适当的调整。另一方面,对于不需要修改数据的查询(SELECT语句),大量索引有助于提高性能,因为SQL Server有更多的索引可供选择,以便确定以最快速度访问数据的最佳方法。 覆盖的查询可以提高性能。覆盖的查询是指查询中所有指定的列都包含在同一个索引中。例如,如果在一个表的a、b和c列上创建了组合索引,则从该表中检索a

3、和b列的查询被视为覆盖的查询。创建一个覆盖查询的索引可以提高性能,因为该查询的所有数据都包含在索引自身当中;检索数据时只需引用表的索引页,不必引用数据页,因而减少了IO总量。尽管给索引添加列以覆盖查询可以提高性能,但在索引中额外维护更多的列会产生更新和存储成本。 对小型表进行索引可能不会产生优化效果,因为SQL Server在遍历索引以搜索数据时,花费的时间可能会比简单的表扫描还长。(我们在实验过程中用的表很小,但是为了熟悉索引概念本身,就在小表上建立索引) 应使用SQL事件探查器和索引优化向导帮助分析查询,确定要创建的索引。为数据库及其工作负荷选择正确的索引是非常复杂的,需要在查询速度和更新

4、成本之间取得平衡。窄索引(搜索关键字中只有很少的列的索引)需要的磁盘空间和维护开销都更少。而另一方面,宽索引可以覆盖更多的查询。确定正确的索引集没有简便的规则。经验丰富的数据库管理员常常能够设计出很好的索引集,但是,即使对于不特别复杂的数据库和工作负荷来说,这项任务也十分复杂,费时和易出错。可以使用索引优化向导使这项任务自动化。 一般来说,对表的查询都是通过主键来进行的,因此,首先应该考虑在主键上建立索引。另外,对于连接中频繁使用的列(包括外键)也应作为建立索引的考虑选项。由于建立索引需要一定的开销,而且,当使用INSERT或者UPDATE对数据进行插入和更新操作时,维护索引也是需要花费时间和

5、空间的。因此,没有必要对表中所有的列建立索引。下面的情况则不考虑建立索引: 从来不或者很少在查询中引用的列。 只有两个或若干个值的列,例如性别(男或女),也得不到建立索引的好处。 记录数目很少的表。SQL Server提供了两种方法来创建索引: 直接创建索引 使用CREATE INDEX语句或者企业管理器来直接创建索引。 间接创建索引 使用CREATE TABLE语句创建表时,或者使用ALTER TABLE语句修改表时,如果指定PRIMARY KEY约束或者UNIQUE约束,则SQL Server自动为这些约束创建索引。我们主要介绍直接创建索引的方法,包括使用SQL语言和使用企业管理器来创建索

6、引。(同学们在学习以下几种索引创建方法时,暂时不进行实际的创建动作,仅仅是学习方法。)1、通过企业管理器创建索引:(1) 打开企业管理器,并展开相应的服务器组和数据库,在要创建索引的表上(这里选择Student表作为要创建索引的表。)右击鼠标,将鼠标指向“所有任务”,然后选择“管理索引”命令,如图31所示。(2) 此时,打开“管理索引”对话框,如图32所示。该对话框用来对索引进行管理。顶部的“数据库”和“表视图”文本框用来选择数据库和要创建索引的表,下面的列表框显示了选中表的索引,下部的按钮用来对索引进行编辑、删除等操作。在图32中,显示PK_Student索引,这是在创建Student表时设

7、置的索引。(3) 单击“新建”按钮,打开“新建索引”对话框,如图33所示。这里在“索引名称”文本框中输入索引名称,并选择用于创建索引的列,即可创建索引。“排序次序”选项如果处于选中状态,表示索引以降序排列。图31选择“管理索引”命令图32“管理索引”对话框图33“新建索引”对话框在“索引选项”选项组中显示了索引的各个特征选项,其含义如下: 聚集索引 选中表示创建聚集索引;未选中表示创建非聚集索引。 惟一值 选中表示创建惟一索引。 忽略重复的值 当“唯一值”选中时,该选项才可用。若该选项处于选中状态,表示在表中加入一笔重复此索引字段的值时,则INSERT语句会被执行,但是会自动取消这笔新加入的记

8、录;如果不选择该选项,加入一笔重复此索引字段的INSERT语句将会出错。 不重新计算统计 当建立索引时,SQL Server会默认建立该索引字段的统计数据,以提高检索的效率。当记录改变时,原来该字段的统计数据就不是最新的,则SQL Server会自动重新统计。如果选择此复选框,表示不让SQL Server自动重新计算该索引字段的统计数据,则在检索数据时,可能导致效率降低。因此推荐不选择此复选框。 文件组 用来存放数据库的文件组,在建立数据库时,每个数据库都有一个默认的PRIMARY文件组,用户也可以自定义文件组。 填充索引 指定填充索引。填充索引在索引的每个内部节点上留出空格。 填充因子 指定

9、SQL Server在创建索引过程中,对各索引页的叶级所进行填充的程度。 除去 指定在创建新索引之前删除任何现有的同名索引。(4) 设置完成后,单击“确定”按钮(注:只有填写好“索引名称”后,“确定”按钮才会被激活)即可创建一个新的索引。也可以单击“编辑SQL”按钮,出现如图34所示的“编辑Transact-SQL脚本”对话框,单击其中的“执行”按钮则创建一个新的索引。(这里没有填写好索引名称,在分析该代码时会出错)图34 “编辑Transact-SQL脚本”对话框2、通过向导来创建索引(1) 在企业管理器中,展开“数据库”文件夹,执行“工具”菜单中的“向导”命令,打开“选择向导”对话框。然后

10、选择“数据库”“创建索引向导”,如图35所示。图35“选择向导”对话框(2) 单击“确定”按钮,出现创建索引的欢迎使用向导界面,如图36所示。(3) 单击“下一步”按钮,弹出对话框如图37所示。在“数据库名称”文本框中,可选择数据库。在“对象名”文本框中,可选择要创建索引的表或者视图。图36 欢迎使用向导界面图37选择数据库和表/视图(4) 选择完成后,单击“下一步”按钮,打开所选择表的现有索引信息对话框,如图38所示。其中列出已有索引的信息,其中PK_Student是在建立表时创建的。(以“_WA”开头的索引是系统建立的。图38查看当前的索引信息(5) 单击“下一步”按钮,出现选择列的对话框

11、,如图39所示。(6) 选择要创建索引的列后,单击“下一步”按钮,打开“指定索引选项”页,如图310所示。在此对话框中,可以设置索引的各个选项,包括聚集索引、惟一性和填充因子等。其含义和上面介绍的相同。图39选择要创建索引的列图310指定索引选项(7) 设置索引属性选项后,单击“下一步”按钮,即可进入下一步。对话框中显示了该索引的名称以及创建索引的列,如图311所示。用户可以通过“上移”和“下移”按钮来设置列的优先级。图311显示索引信息(8) 设置完成后,单击“完成”按钮,系统弹出开始创建索引,完成后弹出一个提示对话框,提示完成新索引的创建。3、使用SQL语言创建索引(1)在“开始”“程序”

12、中选择Microsoft SQL Server,打开“查询分析器”,如图312所示。图312打开“查询分析器”(2)如图313,在“连接到SQL Server”对话框中点击按钮,出现选择服务器窗口,选择本地服务(local),点击确定按钮。选择身份验证方式(安装SQL Server时的设置)进入SQL查询分析器主界面,如图314。图313连接到SQL Server图314 SQL查询分析器(3)选择“查询”菜单,点击“更改数据库”,如图315所示。图315 更改数据库(4)选择想要操作的数据库,点击“确定”,如图316。图316选择数据库(5)输入相应的SQL代码,点击按钮执行该SQL语句,即

13、可进行针对该数据库的操作。四、实验内容1利用上次实验建立的表,分别在Student 表的Sdept 列、Course表的Cno列、SC表的Grade列上建立索引。2建立如下的查询:1)年龄大于18的所有学生的姓名学号;2)年龄大于18的CS系的学生的姓名学号;3)选择课程号为3的学生姓名和学号;4)选择课程号为3的学生姓名、学号和该课程的课程名与先修课程。五、实验过程1 索引的建立:Create unique index stusno on student(Sdept)Create unique index ctucno on course(cno)Create unique index sc

14、ga on sc(grade)2 查询的建立:1)select Sname,Snofrom Studentwhere Sage182)select Sname,Snofrom Student 18 and Sdept=CS3)select Sname,Student.Snofrom Student,SCwhere Student.Sno=SC.Sno and SC.Cno=34)select Sname,Student.Sno,Course.Cname,Cpnofrom Student,SC,Coursewhere Student.Sno=SC.Sno and SC.Cno= Course.Cno and SC.Cno=还可以进行其他查询操作。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1