- 1、本文档共39页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CREATE INDEX语句创建索引的语法格式: CREATE [UNIQUE] [CLUSTERED | NONCLUSTERED] INDEX index_name ON {table | view} (column [ASC | DESC][,…n]) [WITH index_option [,…n]] [ON filegroup] 其中: index_option定义为 { PAD_INDEX | FILLFACTOR = fillfactor | IGNORE_DUP_KEY | DROP_EXISTING | STATISTICS_NORECOMPUTE | SORT_IN_TEMPDB } 6.3.2 使用SQL语言创建索引 FILLFACTOR:指定各索引叶级的填满程度。 PAD_INDEX :指定索引中间级中每个页上保持开放的空间。 IGNORE_DUP_KEY: 控制当尝试向属于唯一聚集索引的列插入重复的键值时所发生的情况。 DROP_EXISTING:指定应除去并重建已命名的先前存在的聚集索引或非聚集索引。指定的索引名必须与现有的索引名相同。 STATISTICS_NORECOMPUTE :指定过期的索引统计不会自动重新计算。若要恢复自动更新统计,可执行没有NORECOMPUTE子句的UPDATE STATISTICS SORT_IN_TEMPDB:指定生成索引的中间排序结果将存储在tempdb数据库中。 6.3.3 创建索引的选项设置 CREATE UNIQUE NONCLUSTERED INDEX [IDX_Employee_LoginID] ON [HumanResources].[Employee] ( [LoginID] ASC) … S M pat0 242 EmployeeID LoginID Gender MaritalStatus … 216 mike0 M S … 231 fukiko0 M M … 291 pat0 F S … … 不允许存在相同值 6.3.4 创建索引的空间考虑 创建聚集索引要求数据库中的可用空间大约为数据大小的1.2倍。该空间将对数据进行复制以创建聚集索引。 使用DROP_EXISTING子句时,聚集索引所需的空间数量与现有索引的空间要求相同。所需的额外空间可能还受指定的FILLFACTOR的影响。 如果tempdb在不同于用户数据库所在的磁盘上,则选项SORT_IN_TEMPDB可能减少创建索引所需的时间,但会增加用于创建索引的磁盘空间。除了在用户数据库中创建索引所需的空间外,数据库tempdb还必须有大约相同的额外空间来存储中间排序结果。 6.3.5 在视图和计算列上创建索引 在SQL Server 2008中,可以在计算列和视图上创建索引。 在计算列上创建索引时,计算列必须具有确定性,必须精确,且不能包含text、ntext或image列。 例:在test数据库中创建一个表t1,然后在此表的计算列c上创建一个索引: USE test CREATE TABLE t1 (a int, b int, c AS a*b) GO CREATE INDEX Idx1 ON t1(c) GO INSERT INTO t1 VALUES (1, 0) GO 6.4 索引的查看和删除 查看和删除索引的两种方法: 使用SQL Server Management Studio 使用SQL语句 使用存储过程sp_helpindex查看索引。 语法格式如下: EXEC sp_helpindex 对象名 删除索引使用DROP INDEX语句。 语法格式如下: DROP INDEX table.index|view.index [ , …n ] 通过右键单击【索引名称】,选择【创建索引脚本到新的查询分析器窗口】,则可以查看创建索引的SQL脚本语句,如图所示。 使用Transact-SQL语句中的DROP INDEX命令删除索引: 当不再需要某个索引时,可以将其删除,DROP INDEX命令可以删除一个或者多个当前数据库中的索引,其语法形式如下: DROP INDEX table.index | view.index [ ,...n ] 举例:删除表employees中的索引employees_name_index。 程序清单如下: DROP INDEX employees.employees_name_index 人有了知识,就会具备各种分析能力, 明辨是非的能力。 所以我们要勤恳读书,广泛阅读, 古人说“书中自有黄金屋。 ”通过阅读科技书籍,我们能丰富知识
文档评论(0)