- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库 使用索引提高查询效率
网络技术系 白光宏 第8章使用索引提高查询效率 8.1索引概述 查询数据库数据是用户最常用的操作。在没有建立索引的情况下,如果数据表中的数据量比较少的话,查询速度不受影响,但是当数据表中的数据量比较多,被查的数据位置又比较靠后,则查询的时间就比较长。就像一份文档或一本书一样,如果有目录则会很快内容所在位置;表的索引就如同一本书的目录。 8.1.1索引的作用 SQL Server的索引是一种物理结构,它能够提供一种以一列或多列的值为基础迅速查找表中行的能力。在建立了索引的列作为查询条件时,索引能大大地提高T-SQL语句地执行速度。 8.1.3 索引的类型 1.聚集索引(Clustered Indexes) 数据表的物理存储顺序与索引顺序完全相同。即索引的顺序决定了表中行的存储顺序,一个表只能有一个聚集索引。主键列是聚集索引。但聚集索引列允许列值不唯一,而主键列要求列值唯一。 在创建聚集索引时,会对表进行复制,并且对表中的数据进行排序,然后删除原始表。因此数据库上必须有足够的空闲空间,以容纳数据副本。 2.非聚集索引(Nonclustered Indexes) 数据表的物理存储顺序与索引顺序不相同。即具有完全独立于数据行的结构。 非聚集索引与图书的索引类似。数据存储在一个位置,索引存储在另一个位置,索引带有指针指向数据的存储位置。索引中的项目按索引键的值的顺序存储,而表中的信息是按另一种顺序存储。 为一个表建立索引默认都是非聚集索引,在一列上设置唯一性约束也自动在该列上创建非聚集索引。 3.唯一性索引(Unique Indexes) 不允许两行具有同样的索引值。 在创建主键约束和唯一性约束的列上会自动创建唯一性索引。聚集索引和非聚集索引都可以是唯一性索引。 主键索引是唯一性索引的特殊类型,主键索引是在为表定义主键时自动创建的。 在一个数据库中,如果单列中有不止一行包含NULL值,则无法在该列上创建唯一索引。 4.组合索引(复合索引) 是指在一个表中使用不止一个列对数据进行索引的索引,它通过连接两个或多个列的值而创建的。 组合索引可以是唯一性索引。如果是唯一性索引,这个字段组合的取值就不能重复,但此时单独的字段值却可以重复。 组合索引中的所有列必须在同一个表中。 8.2 创建索引 8.2.1 使用企业管理器创建索引 ⑴ 打开企业管理器,在树状目录中展开“学生管理数据库” 节点,并选择其下一级节点“表”。此时在右边的内容窗口将会列出数据库中包含的全部数据表; ⑵ 选择表学生表,并单击鼠标右键。在弹出菜单中选择“所有任务/管理索引…”命令,打开“管理索引”对话框; ⑶ 在“管理索引”对话框中从“数据库”下拉菜单中选择“学生管理数据库”,从“表/视图” 下拉菜单中选择[dbo].[ 学生表]; ⑷ 此时在“现有索引”的列表框中会列出表学生表中现存的索引。选择“新建索引”按钮,弹出“新建索引”对话框; ⑸ 在“新建索引”对话框的索引名称文本框中输入索引的名称,然后选择字段“姓名”并设置索引属性; ⑹ 设置索引选项以后,单击“确定”按钮,返回到“管理索引”对话框。在这个对话框中可以看到新创建的索引“idx_name”。单击“关闭”按钮,退出“管理索引”对话框,完成索引的创建。 8.2.2 使用T-SQL语句创建索引 1.语法格式 CREATE[UNIQUE][CLUSTERED| NONCLUSTERED] INDEX 索引名 ON 表名(列名[ ASC | DESC ] [, ...n]) 2.创建唯一性索引 例1:在xsjb表的学号字段创建唯一聚集索引 CREATE UNIQUE CLUSTERED INDEX idx_sid ON xsjb(编号) 例2:使用已建立索引查询 select 编号,姓名,班级 from xsjb where 编号 例2:使用已建立索引查询 select 编号,姓名,班级 from xsjb where 编号= 执行后,单击工具栏中“执行模式”按钮,显示执行索引情况。 见下图: 3.创建组合性索引 一个索引创建在两个列或更多个列上。 例3:在学生表的所学专业和学号字段创建组合性索引 CREATE INDEX idx_ss ON xsjb(专业,姓名) 例4:根据索引查询 select 编号,姓名,专业,班级 from xsjb where 专业=自动化 and 姓名=刘冰‘ 执行后索引情况见下图: 8.3 删除索引 8.3.1 使用企业管理器删除索引
您可能关注的文档
最近下载
- 26. 26个英文字母-复习课件-1字母闯关游戏(共30张PPT).pdf VIP
- 上海市职业技能等级认定试卷 模具工(四级)考场、考生准备通知单02.doc VIP
- 健康险手册使用说明.pptx VIP
- 急性心肌梗死诊断及治疗课件.ppt VIP
- 饲料添加剂项目企业经营战略手册(参考).docx
- 光伏电站项目建设方案.docx
- 数字智慧方案5496丨商业综合体地块智能化系统设计汇报方案(66页PPT).pptx VIP
- 体例格式9:工学一体化课程《小型网络安装与调试》任务1学习任务工作页.docx VIP
- 城投集团防汛防台专项应急预案(2018版).docx VIP
- 量子之年:从2025年从概念到现实报告(英文版).pdf VIP
文档评论(0)