- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SQL Server创建和使用索引
创建索引:(1)在SQL Server Management Studio中,选择并右击要创建索引的表,从弹出菜单中选择“设计”,打开表设计器。右键单击表设计器,从弹出菜单中选择“索引/键”命令,打开“索引/键”对话框。对话框中列出了已经存在的索引,如下图所示。? ?(2)单击“添加”按钮。在“选定的主/唯一键或索引”框显示系统分配给新索引的名称。(3)在“列”属性下选择要创建索引的列。可以选择多达16列。为获得最佳性能,最好只选择一列或两列。对所选的每一列,可指出索引是按升序还是降序组织列值。(4)如果要创建唯一索引,则在“是唯一的”属性中选择“是”。(5)设置完成后,单击“确定”按钮。(6)当保存表时,索引即创建在数据库中。使用CREATE INDEX语句创建索引:CREATE[ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX索引名????ON {表名|视图名} (列名[ ASC | DESC ] [ ,...n ] )例:在数据库HrSystem中为表Employees创建基于IDCard列的唯一索引IX_Employees,可以使用以下命令:USE?HrSystemGOCREATE UNIQUE NONCLUSTERED INDEX [IX_Employees]ONdbo.Employees(IdCard)GO例:? ?为表Employees创建基于列IDCard的唯一、聚集索引IX_Employees1,可以使用以下命令:USEHrSystemGOCREATE UNIQUE CLUSTERED INDEX [IX_Employees1] ON [dbo].[Employees](IdCard)GO????????需要注意的是,在一个表中只允许存在一个聚集索引。因此,如果表Employees中已经存在一个聚集索引,则执行上面的语句时将会提示下面的错误信息。消息1902,级别16,状态3,第1行无法对表dbo.Employees创建多个聚集索引。请在创建新聚集索引前删除现有的聚集索引PK__Employee__263E2DD300551192。 ?? ?例:对表Employees的列Emp_name按照降序创建索引,可以使用以下命令:USEHrSystemGOCREATENONCLUSTERED INDEX [IX_Employees2] ON [dbo].[Employees](??[Emp_name] DESC)GO在CREATE INDEX语句中使用INCLUDE子句,可以在创建索引时定义包含的非键列,其语法结构如下:CREATENONCLUSTERED? INDEX 索引名????ON { 表名| 视图名 } ( 列名 [ ASC | DESC ] [ ,...n ] )? INCLUDE (列名1, 列名2, [,… n])例: ?? ?在表Employees上创建非聚集索引IX_Wage,索引中的键列为Wage,非键列为Emp_name、Sex和Title,具体语句如下:USEHrSystemGOCREATENONCLUSTERED? INDEX IX_Wage? ON Employees ( Wage )? INCLUDE (Emp_name, Sex, Title)GO例:在创建索引IX_Wage后,当表Employees中的数据量比较大时,执行下面的SELECT语句将会明显地改进查询效率。USEHrSystemGOSELECTEmp_name, Sex, Title, WageFROMEmployeesWHEREWage BETWEEN 1000 AND 3000GO修改索引:? ???????? 在SQL Server Management Studio中,选择并右击要创建索引的表,从弹出的毕业论文菜单中选择“设计表”,打开表设计器。右键单击表设计器,从弹出菜单中选择“索引/键”命令,打开“索引/键”对话框,并查看已经存在的索引及修改索引的属性信息。也可以使用ALTER INDEX语句修改索引,其基本语法如下:ALTER INDEX {?索引名| ALL }????ON 表名|视图名????{ REBUILD??| DISABLE??| REORGANIZE }[ ; ]ALTER INDEX语句的参数比较复杂,这里只介绍它的基本使用情况。参数说明如下:REBUILD指定重新生成索引。DISABLE指定将索引标记为已禁用。REORGANIZE指定将重新组织的索引叶级。例:? ?要禁用索引IX_Employees,可以使用下面的语句:USE?HrSystemGOALTERINDEX?IX_Employees?ON Employees DISABLEG
文档评论(0)