索引的创建和使用.doc

索引的创建和使用.doc

ID:59246381

大小:255.00 KB

页数:6页

时间:2020-09-08

索引的创建和使用.doc_第1页
索引的创建和使用.doc_第2页
索引的创建和使用.doc_第3页
索引的创建和使用.doc_第4页
索引的创建和使用.doc_第5页
资源描述:

《索引的创建和使用.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第5章索引的创建和使用索引:是一种与数据表相关的类似于目录的一种数据结构。使用索引可以提高查询的效率。一、索引概述1、索引提高查询效率的原理(1)索引它包含由列生成的键值+数据页地址的指针。(2)索引的键值是排序的。排序的数据可以利用各种高效的查找算法(折半查找等)。2、索引的优点(索引的功能,为什么要使用索引?)(1)提高查询效率。(2)提高表连接的效率。(3)唯一索引还可以保证记录唯一。(需要唯一的字段,可以使用唯一索引,以限制非法的数据)。3、索引的缺点(使用索引带来的问题?)索引可以极大提高查询效率,但并不是索引创建的越多越好。因为:(1)索引需要额外的维护时间--导致插入数据、更新

2、数据需要更多的时间。(2)索引需要额外的存储空间。4、使用索引的原则科学的设计索引,在提高查询效率同时,尽量减少索引带来的副作用。(1)考虑设置索引的情况l经常检索的列-WHERE子句中使用的列。l主键列、外键列-事实上主键约束列、唯一约束列会自动创建索引。l经常用于表间连接的列。(2)不考虑设置索引的情况-体现不出索引的优势,可能反而会降低时空效率。l检索中几乎不涉及到的列。l重复值太多的列。l数据类型未text、image的列。l行数极少的表没必要创建索引。-大马拉小车!l插入、更新效率比查询效率更重要的情况。1、索引的分类(1)聚集索引/非聚集索引l聚集索引的数据页按照键值重新排序-查

3、询速度非常快,维护时间相对长。l一个表只能有一个聚集索引(非聚集索引最多可以有249个)。非聚集索引不改变数据页位置,非聚集索引是键值+指针,查询速度较聚集索引慢一些。(2)唯一性索引/非唯一性索引唯一索引:索引值不重复、键值也不重复。唯一索引可以限制重复列数据的输入。(3)单字段索引、复合索引※复合索引-索引键值的字段有多个。复合索引最多包含16个字段。二、索引的创建SQLSERVER索引可以由系统自动创建,也可以根据需要手工创建。l使用CREATETABLE/ALTERTABLE定义主键、唯一性约束时,系统自动创建与约束名同名的索引。l使用企业管理器或者T-SQL语句手工创建(指定索引名

4、、表、列,其它索引选项等,默认创建非聚集非唯一索引)。1、使用企业管理器创建索引例:为Product表增加一个名称为C_P_Index的复合索引,索引字段是Category、Price。企业管理器-数据库服务器-数据库sales-表Product-索引(右键)-“新建索引…”图5-1图5-2指定索引名;指定列名(可以设置排序方式,也可以调整列的顺序);检查索引类型(聚集、唯一);检查其它索引选项,“确定”。注:选中索引右键-属性/删除-可以修改索引或者删除索引。1、使用T-SQL语句创建索引(CREATEINDEX)语法格式:CREATE[UNIQUE][CLUSTERED

5、NONCLUST

6、ERED]INDEX<索引名>ON<表名>(<列名1>[ASC

7、DESC][,……n])WITH(<索引相关选项>)<索引选项>:={PAD_INDEX={ON

8、OFF}

9、FILLFACTOR=<填充因子>

10、DROP_EXISTING={ON

11、OFF}}说明:lUNIQUE:唯一索引。索引值唯一,索引的列值(或列组合)唯一。缺省:非唯一。lCLUSETERD/NONCLUSETERD:聚集/非聚集索引。默认非聚集索引。lDROPEXISTING:是否删除现有的同名的索引。ON-删除;默认OFF-不删除(遇到创建同名的索引会提示错误)。使用带DROPEXISTING=ON的CREATEINDE

12、X语句可以修改一个索引的定义,例如,可以指定不同的列、排序顺序、分区方案或索引选项。例5-1:在产品表Product的产品编号列ProductID上创建唯一、聚集索引。例5-2:在产品表Product的产品类别CategoryID、价格列Price上创建非唯一、非聚集索引。二、索引的管理1、使用企业管理器查看、修改、删除索引(两种方法教材按照第一种)(1)表-表设计器-“索引和键”快捷菜单-打开“索引和键”对话框。在这个对话框完成索引的查看、修改、删除。图5-3(1)表-索引-找到需要查看的索引、右键快捷菜单-属性(查看、修改);右键快捷菜单-删除(删除选中的索引)图5-41、使用T-SQL

13、命令查看、修改、删除索引(1)查看索引信息--查看一张表上所有索引的信息。语法:sp_helpindex[<表名>

14、<视图名>]例5-3:查看Product表上所有索引的信息sp_helpindexProduct(1)修改索引。语法:CREATE[UNIQUE][CLUSTERED

15、NONCLUSTERED]INDEX<索引名>ON<表名>(<列名1>[ASC

16、DESC][,……n])WITH(DROPEXI

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。