- 1、本文档共20页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
和非聚集索引
任务10 索 引 10.1 场 景 引 入 问题:用户经常要查找送货日期在某一日期范围内的订单,而且经常要按照送货日期排序记录。为了快速找到所需的数据,请提出一种解决方案。 要解决上述问题,可以使用索引。利用索引可以快速访问数据库表中的特定信息。索引是对数据库表中一个或多个列(例如,Employees表的LastName列)的值进行排序的结构。如果想按特定雇员的姓(LastName)来查找,则与在表中有哪些信誉好的足球投注网站所有的行相比,索引能够更快地获取信息。 10.2 了 解 索 引 索引是一个简单的表,表中存储有索引列的值及该值所在行的存储位置。 在随 Microsoft SQL Server 2000 提供的 pubs 示例数据库中,Employees表在emp_id 列上有一个索引。图10.1所示为索引如何存储每个 emp_id 值并指向表中包含各个值的数据行。 10.2 了 解 索 引 当 SQL Server 执行一个语句,在 Employees 表中根据指定的 emp_id 值查找数据时,它能够识别 emp_id 列的索引,并使用该索引查找所需数据。如果该索引不存在,它会从表的第一行开始,逐行有哪些信誉好的足球投注网站指定的 emp_id 值。 SQL Server 为某些类型的约束(如 PRIMARY KEY 和 UNIQUE 约束)自动创建索引。可以通过创建不依赖于约束的索引,进一步对表进行自定义。 10.3 了解索引的类型 索引可分为聚集索引(Clustered)和非聚集索引(Non- Clustered)两种。 10.3.1 了解聚集索引 聚集索引确定表中数据的物理顺序。也就是说聚集索引会将设为索引的字段依序排好,并且记录也将按排好的顺序存储在表中,如图10.2所示表中的记录。 假定上面的表中的ProductID字段为聚集索引,则该表的内容会自动依照ProductID的大小来排列,如图10.3所示。 10.3.1 了解聚集索引 若是增加一条ProductID为1145的记录,则这条记录会排列在1023与1264之间,如图10.4所示。由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能有一个聚集索引。 10.3.2 了解非聚集索引 非聚集索引也会按照索引字段排序,但排列的结果并不会显示在表中,而是在另一个地方存储。非聚集索引与一本书后面所附的索引类似。一本书后面所附的索引是按照字母A、B、C…排列,但书中的内容并不是依照索引的顺序排列的,要查询数据时,可从索引中找到所指引的地方。 因此,在没有聚集索引的表中增加记录时,此新记录将排到其他记录的后面。 由于两种索引的差异。在检索记录时,聚集索引会比非聚集索引速度快,因为其记录是按照索引顺序排列的。但当要新增(insert)和更新(update)记录时,则因为聚集索引需要将排序后的记录实际存储在表中,所以速度会比非聚集索引稍慢。另外,一个表只可以有一个聚集索引,而非聚集索引可以有多个。 10.3.3 了解唯一索引 唯一索引表示一个表中索引列不包含重复的值。在多列唯一索引情况下,该索引可以确保索引列中每个值的组合都是唯一的。例如,将姓名分为姓氏与名字两个字段,如果在姓氏与名字列的组合上创建了唯一索引,则该表中任何两条记录不允许既同姓又同名。但表中允许同姓或同名的记录存在。这种将两个或多个列组合起来的索引称为复合索引。 聚集索引和非聚集索引都可以是唯一的。因此,只要列中的数据是唯一的,就可以在同一个表上创建一个唯一的聚集索引和多个唯一的非聚集索引。 10.4 创建与删除索引 10.4.1 在现有表上创建索引 只有表的所有者才能在表上创建索引,以下是创建索引的一般格式: CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX 索引名????ON 表名 ( 字段名1,字段名2, ,... 字段名n ) 默认情况下,如果未指定聚集选项,则创建的是非聚集索引。 10.4.1 在现有表上创建索引 1. 创建普通索引 任务10.1 创建普通索引 2. 创建唯一索引 任务10.2 创建唯一索引 3. 创建聚集唯一索引 任务10.3 创建聚集唯一索引 4. 创建复合索引 任务10.4 创建复合索引 5. 创建升序和降序索引 任务10.5 创建升序和降序索引 10.4.2 在创建表时创建索引 1. 有UNIQUE字段 任务10.6 创建非聚集唯一索引 2. 有PRIMARY KEY字段 任务10.7 创建唯一聚集索引 3. 对PRIMARY KEY列创建非聚集索引,对UNIQUE列创建聚集索引 任务10.8 对PRIMARY KEY列创建非聚集索引,对UNIQUE列创建聚集索引 10.4.3 删除索引 可以使用DR
您可能关注的文档
- 服用柠檬酸钾前后草酸钙结石患者的尿微晶和尿液性质 - 无机化学学报.pdf
- a 型流感病毒血凝素蛋白s鄄棕榈酰化修饰的质谱分析 - 分析化学.pdf
- 名称粒径 - 中台科技大学健康科学院.pdf
- 缓控释氮肥对机插稻氮素利用特征及产量的影响 - 浙江大学学报.pdf
- 丁二酸对α半水脱硫石膏晶体生长习性与晶体形貌的影响 - 东南大学学报.pdf
- 抗氧化剂的抗氧化活性测定方法研究进展δ - 中国药房.pdf
- 不同马铃薯品种抗氧化物质含量及抗氧化活性比较 - 吉林农业大学学报.pdf
- 煤吸附co 2 、o2和n2 的能力与竞争性差异 - 环境工程学报.pdf
- 多糖提取和抗氧化活性评价方法的研究现状和进展 - 动物营养学报.pdf
- 高效微生物絮凝剂产生菌xnj1 的筛选与絮凝条件 - 南京农业大学学报.pdf
文档评论(0)