`
hpjianhua
  • 浏览: 236132 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类

索引及其用途--SQL Server 2005

阅读更多

六.索引及其用途

 

1.索引是以表列为基础的数据库对象,它保存着表中排序的索引列。

 

2.其主要目的是提高了SQL Server系统的性能,加快数据的查询速度与减少系统的响应时间。

 

3.创建索引与维护索引都会浪费时间,对表中的数据进行增加,删除和修改操作时,索引就要进行维护,否则索引的作用就会下降;另外索引也会占用一定的物理空间,如果占用的物理空间过多,就会影响到整个数据库SQL Server系统的性能。

 

4.建立索引的原则:

 

(1)定义主键的数据列一定要建立索引。

(2)定义有外键的数据列一定要建立索引。

(3)对于经常查询的数据列最好建立索引。

      A、对于需要在指定范围内的快速或频繁查询的数据列;

  B、经常用在WHERE子句中的数据列。

(4)对于那些查询中很少涉及的列,重复值比较多的列不要建立索引。

(5)对于定义为textimagebit的数据类型的列不要建立索引。

 

5.索引的分类:

(1)聚集索引:聚集索引会对表和视图进行物理排序。

(2)非聚集索引:不对表和视图进行物理排序,最多可建立250个非聚集索引,或者249个非聚集索引与1个聚集索引。

(3)唯一索引:唯一索引不允许两行具有相同的索引值。

 

6.创建索引的语法:

CREATE [UNIQUE][CLUSTERED | NONCLUSTERED]

INDEX index_name

ON {table_name | view_name}

[WITH [index_property [,....n]]

说明:

UNIQUE: 建立唯一索引。

CLUSTERED: 建立聚集索引。

NONCLUSTERED: 建立非聚集索引。

Index_property: 索引属性。

UNIQUE索引既可以采用聚集索引结构,也可以采用非聚集索引的结构,如果不指明采用的索引结构,则SQL Server系统默认为采用非聚集索引结构。

 

7.删除索引语法:

DROP INDEX table_name.index_name[,table_name.index_name]

说明:table_name: 索引所在的表名称。

     index_name :  要删除的索引名称。

 

    8.显示索引信息:

 

    使用系统存储过程:sp_helpindex 查看指定表的索引信息。

 

    执行代码如下:

    Exec sp_helpindex book1;

 

    9.重命名索引

    语法:

    Exce sp_rename table_name.old_index_name, new_index_name

 

    10.显示查询计划的命令为:

    SET SHOWPALN_ALL ON | OFF 或 SET SHOWPLAN_TEXT ON | OFF

    说明:帮助用户分析有哪些索引被系统采用。

 

    例子:

    USE book

    GO

    SET SHOWPLAN_ALL ON

    GO

    SELECT * FROM book1 WHERE 编号='YBZT2406'

    GO

    SET SHOWPLAN_ALL OFF

    GO 

    说明:在Set showplan命令与select 命令之间一定要有 go语句。

 

   11.设置是否显示磁盘IO统计的命令为:

   SET STATISTICS IO ON | OFF

 

   12.索引的维护

   更新索引的语法:

   UPDATE STATISTICS table_name index_name

 

   使用DBCC SHOWCONTIG 语句扫描表语法:

   DBCC SHOWCONTIG (table_name, index_name)

 

   使用DBCC INDEXDEFRAG语句进行碎片整理语法:

   DBCC SHOWDEFRAG(database_name,table_name,index_name)

 

0
0
分享到:
评论

相关推荐

    asp.net知识库

    ASP.NET 2.0基于SQLSERVER 2005的aspnetdb.mdf部署 ASP.NET 2.0 Security FAQs Asp.net 2.0功能体验,细节之Web控件(一) 隐藏控件 Asp.net 2.0功能体验,总体设计思想 Asp.net 2.0 WebPart使用经验点滴 革新:.NET...

    Access 2000数据库系统设计(PDF)---025

    101.6 浏览和编辑子数据表中的相关记录 111.7 使Jet和SQL Server 7.0/MSDE数据库相一致 111.8 Access在2000年问题上的改进 121.8.1 四位数年份选项设置 121.8.2 数据库窗口 131.8.3 窗体和报表 141.8.4 名称自动更正...

    Access 2000数据库系统设计(PDF)---002

    101.6 浏览和编辑子数据表中的相关记录 111.7 使Jet和SQL Server 7.0/MSDE数据库 相一致 111.8 Access在2000年问题上的改进 121.8.1 四位数年份选项设置 121.8.2 数据库窗口 131.8.3 窗体和报表 141.8.4 名称自动...

    Access 2000数据库系统设计(PDF)---018

    101.6 浏览和编辑子数据表中的相关记录 111.7 使Jet和SQL Server 7.0/MSDE数据库相一致 111.8 Access在2000年问题上的改进 121.8.1 四位数年份选项设置 121.8.2 数据库窗口 131.8.3 窗体和报表 141.8.4 名称自动更正...

    Access 2000数据库系统设计(PDF)---003

    101.6 浏览和编辑子数据表中的相关记录 111.7 使Jet和SQL Server 7.0/MSDE数据库 相一致 111.8 Access在2000年问题上的改进 121.8.1 四位数年份选项设置 121.8.2 数据库窗口 131.8.3 窗体和报表 141.8.4 名称自动...

    Access 2000数据库系统设计(PDF)---011

    101.6 浏览和编辑子数据表中的相关记录 111.7 使Jet和SQL Server 7.0/MSDE数据库相一致 111.8 Access在2000年问题上的改进 121.8.1 四位数年份选项设置 121.8.2 数据库窗口 131.8.3 窗体和报表 141.8.4 名称自动更正...

    Access 2000数据库系统设计(PDF)---020

    101.6 浏览和编辑子数据表中的相关记录 111.7 使Jet和SQL Server 7.0/MSDE数据库相一致 111.8 Access在2000年问题上的改进 121.8.1 四位数年份选项设置 121.8.2 数据库窗口 131.8.3 窗体和报表 141.8.4 名称自动更正...

    Access 2000数据库系统设计(PDF)---009

    101.6 浏览和编辑子数据表中的相关记录 111.7 使Jet和SQL Server 7.0/MSDE数据库 相一致 111.8 Access在2000年问题上的改进 121.8.1 四位数年份选项设置 121.8.2 数据库窗口 131.8.3 窗体和报表 141.8.4 名称自动...

    Access 2000数据库系统设计(PDF)---001

    101.6 浏览和编辑子数据表中的相关记录 111.7 使Jet和SQL Server 7.0/MSDE数据库 相一致 111.8 Access在2000年问题上的改进 121.8.1 四位数年份选项设置 121.8.2 数据库窗口 131.8.3 窗体和报表 141.8.4 名称自动...

    Access 2000数据库系统设计(PDF)---012

    101.6 浏览和编辑子数据表中的相关记录 111.7 使Jet和SQL Server 7.0/MSDE数据库相一致 111.8 Access在2000年问题上的改进 121.8.1 四位数年份选项设置 121.8.2 数据库窗口 131.8.3 窗体和报表 141.8.4 名称自动更正...

    Access 2000数据库系统设计(PDF)---015

    101.6 浏览和编辑子数据表中的相关记录 111.7 使Jet和SQL Server 7.0/MSDE数据库相一致 111.8 Access在2000年问题上的改进 121.8.1 四位数年份选项设置 121.8.2 数据库窗口 131.8.3 窗体和报表 141.8.4 名称自动更正...

    Access 2000数据库系统设计(PDF)---027

    101.6 浏览和编辑子数据表中的相关记录 111.7 使Jet和SQL Server 7.0/MSDE数据库相一致 111.8 Access在2000年问题上的改进 121.8.1 四位数年份选项设置 121.8.2 数据库窗口 131.8.3 窗体和报表 141.8.4 名称自动更正...

    Access 2000数据库系统设计(PDF)---026

    101.6 浏览和编辑子数据表中的相关记录 111.7 使Jet和SQL Server 7.0/MSDE数据库相一致 111.8 Access在2000年问题上的改进 121.8.1 四位数年份选项设置 121.8.2 数据库窗口 131.8.3 窗体和报表 141.8.4 名称自动更正...

    Access 2000数据库系统设计(PDF)---029

    101.6 浏览和编辑子数据表中的相关记录 111.7 使Jet和SQL Server 7.0/MSDE数据库相一致 111.8 Access在2000年问题上的改进 121.8.1 四位数年份选项设置 121.8.2 数据库窗口 131.8.3 窗体和报表 141.8.4 名称自动更正...

    2009.6.19—30举办3S研讨会暨Google Earth与Google Map等仿真建模与共享及ARCGIS与遥感高级程序员培训班

    11、ArcGIS高级开发应用上机或ArcGIS与SQL Server、ArcSDE的关联或 ARCCIS多元数据分析及ARCCIS图括元素计算(尽量依学员要求介绍); (空调机房) 主讲人:南京大学规划专业博士、南京路川公司特聘高级讲师 12、...

    Sybase ASE快速参考手册

    1.2 Sybase 具有哪些Server以及这些Server的用途? 5 Backup Server 5 1.3 什么是登录帐户? 5 1.4 什么是角色,Sybase具有哪些常用的系统角色以及这些系统角色的作用? 5 1.5 什么是超级用户,它具有哪些特点? 6 ...

    Sybase ASE快速参考手册.pdf

    1.2 Sybase 具有哪些Server以及这些Server的用途? 5 Backup Server 5 1.3 什么是登录帐户? 5 1.4 什么是角色,Sybase具有哪些常用的系统角色以及这些系统角色的作用? 5 1.5 什么是超级用户,它具有哪些特点?...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    17.3.1 一般用途的标签 492 17.3.2 条件标签 496 17.3.3 迭代标签 498 17.3.4 url相关的标签 501 17.4 i18n标签库 506 17.4.1 国际化标签 506 17.4.2 格式化标签 511 17.5 sql标签库 520 17.5.1 [sql:...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    17.3.1 一般用途的标签 492 17.3.2 条件标签 496 17.3.3 迭代标签 498 17.3.4 url相关的标签 501 17.4 i18n标签库 506 17.4.1 国际化标签 506 17.4.2 格式化标签 511 17.5 sql标签库 520 17.5.1 [sql:...

Global site tag (gtag.js) - Google Analytics