索引和自定义函数.ppt

  1. 1、本文档共41页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
索引和自定义函数

2.索引的存储结构 (1) 簇索引(Clusteredlndex) 对表的物理数据页中的数据按列进行排序,然后再重新存储到磁盘上。 因此一个表只能有一个簇索引。簇索引查找数据很快。 (2) 适于使用簇索引的情况 经常用于排序从表中检索的数据的列。 经常顺序访问的列。 每个索引行包含一个键值和 一个指针,分别指向数据行。 (3)表中按顺序排列的序列(如拼音顺序、日期和数字顺序)在查询的时候不需要逐行查找,因此查询速度快。 (4) 以下数据类型的列不可用作聚集索引的键: ntext、text、varchar(max)、nvarchar(max)、 varbinary(max)、 xml或image CREATE CLUSTERED INDEX ASD_CLU_NO ON ASD (NO ASC) 2) 非簇索引(Nonclusteredlndex)。 非簇索引将行定位器按关键字的值,用一定的方式排序。则行定位器存储的是指向数据行的指针。 非簇索引检索效率较 低。 一个表最多可以建248个非簇索引。 索引列中的数据频繁更改时应建立非簇索引。 CREATE CLUSTERED INDEX Asd_clu_noˉcf2 ON ASD (NO ASC) 3.索引键的组成 根据索引键的组成,可以将索引分为三种类型。 1) 唯一索引 创建唯一索引,可确保表内的索引列中不包含重复的数据内容。 2) 复合索引 在一个表中,通过连接或附接两个或多个列值而创建的索引。 3) 覆盖索引 当索引中包含了需要的所有信息时,这个索引称为覆盖索引。它的键值包含了满足查询条件的所有数据。 6.1.2 创建索引 1. 创建索引时,要注意几点: (1) 当在表中创建主关键字约束或唯一性约束时,SQL Server自动创建一个唯一性索引。 (2) 如果表中已有数据,那么在创建索引时,SQL Server会检查数据的合法性。当有不合法数据时,创建索引将失败。 (3) 当有多个列作为关键字时,应创建复合索引,即索引包含有两个或多个列。 (4) 基于相同列但列次序不同的复合索引也是不同的。 简单的建立索引命令 CREATE INDEX [索引类型] 索引名 ON 表或视图 (列名 排序方式[,…n]) 索引类型有: CLUSTERED ------------簇索引 NONCLUSTERED ------非簇索引 UNIQUE ------------------唯一索引 2. 创建索引的完整格式: CREATE [索引类型] INDEX 索引名 ON 表或视图名 (列名1[ASC I DESC] [ ,…n ] ) [ WITH 索引选项 ] [ON 文件组] 其中: 索引类型有: UNIQUE、CLUSTERED 、 NONCLUSGTERED 索引选项为以下属性的组合: { PAD INDEX FILLFACTOR=填充因子 IGNORE_DUP_KEY DROP_EXISTING STATISTICS_NORECOMPUTE SORT_IN_TEMPDB 其中, 1) UNIQUE 创建唯一索引。创建唯一索引后,如果执行INSERT或UPDATE操作后会导致有重复的索引值出现时,该INSERT或UPDATE操作会失败。 2) CLUSTERED 指明创建的索引为簇索引。默认为创建的索引为非簇索引。 3) NONCLUSTERED 创建的索引为非簇索引。 4) PAD_INDEX 指定填充索引的内部节点的行数,至少应大于等于两行。 PAD_INDEX选项只有在 FILLFACTOR选项指定后才起作用,因为PAD_INDEX使用与FILLFACTOR相同的百分比。 默认时SQLServer确保每个索引页至少有能容纳一条最大索引行数据的空闲空间。如果FILLFACTOR指定的百分比不够容纳一行数据,SQLServer会自动内部更改百分比。 5) FILLFACTOR;填充因子 它指定创建索引时每个索引页的数据占索引页大小的百分比。fillfactor的值为1到100, 它其实同时指出了索引页保留的自由空间占索引页大小 的百分比,即100-fillfactor。 6) IGNORE DUP KEY 此选项控制了包含一个唯一约束的列中插入重复数据时SQLServer所作的反应。 当选择此选项时,SOL Server返回一个错误信息,跳过此行数据的插入继续执行下面的插入数据的操作。 当没选择此选项时,SQLServer不仅会返回一个错误信息,还会回滚整个INSER

文档评论(0)

shaoye348 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档