




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
,第八章 索 引,SQL SERVER教程,8.1了解索引 8.2 创建索引 8.3 查看与修改索引 8.4 删除索引 8.5 索引调整向导 8.6 创建和使用图表,目 录,8.1了解索引,索引是一个单独的、物理的数据库结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。索引是依赖于表建立的,它提供了数据库中编排表中数据的内部方法。 一个表的存储是由两部分组成的,一部分用来存放表的数据页面,另一部分存放索引页面。索引就存放在索引页面上。通常,索引页面相对于数据页面来说小得多。当进行数据检索时,系统先搜索索引页面,从中找到所需数据的指针,再直接通过指针从数据页面中读取数据。从某种程度上,可以把数据库看作一本书,把索引看作书的目录,通过目录查找书中的信息,显然较没有目录的书方便、快捷。,2.簇索引:簇索引对表的物理数据页中的数据按列进行排序,然后再重新存储到磁盘上,即簇索引与数据是混为一体的,它的叶节点中存储的是实际的数据。由于簇索引对表中的数据一一进行了排序,因此用簇索引查找数据很快。但由于簇索引将表的所有数据完全重新排列了,它所需要的空间也就特别大,大概相当于表中数据所占空间的120%。表的数据行只能以一种排序方式存储在磁盘上,所以一个表只能有一个簇索引。 3.非簇索引:非簇索引具有与表的数据完全分离的结构,使用非簇索引不用将物理数据页中的数据按列排序。由于非簇索引使用索引页存储,因此它比簇索引需要更多的存储空间,且检索效率较低。但一个表只能建一个簇索引,当用户需要建立多个索引时,就需要使用非簇索引了。从理论上讲,一个表最多可以建249 个非簇索引。,8.2 创建索引,8.2.1 用CREATE INDEX 命令创建索引 CREATE UNIQUE CLUSTERED | NONCLUSTERED INDEX index_name ON table | view (column ASC | DESC ,.n) WITH PAD_INDEX , FILLFACTOR = fillfactor , IGNORE_DUP_KEY , DROP_EXISTING , SORT_IN_TEMPDB ON filegroup,PAD_INDEX:指定填充索引的内部节点的行数,至少应大于等于两行。 FILLFACTOR = fillfactor:称为填充因子,它指定创建索引时,每个索引页的数据占索引页大小的百分比。对于那些频繁进行大量数据插入或删除的表,在建索引时应该为将来生成的索引数据预留较大的空间,即将fillfactor 设得较小,否则,索引页会因数据的插入而很快填满,并产生分页,而分页会大大增加系统的开销。但设得过小,又会浪费大量的磁盘空间,降低查询性能。 IGNORE_DUP_KEY:控制当往包含于一个惟一约束中的列中插入重复数据时SQL Server 所作的反应。DROP_EXISTING:指定要删除并重新创建簇索引。 SORT_IN_TEMPDB:指定用于创建索引的分类排序结果将被存储到Tempdb 数据库中。如果Tempdb 数据库和用户数据库位于不同的磁盘设备上,那么使用这一选项可以减少创建索引的时间,但它会增加创建索引所需的磁盘空间。,8.2.2 用企业管理器创建索引,1 用索引创建向导创建索引 2 直接创建索引 (右键所有任务管理索引) 3 在企业管理器中创建索引,8.3 查看与修改索引,8.3.1 用企业管理器 查看修改索引 (右键所有任务管理索引编辑) 8.3.2 用存储过程Sp_helpindex 查看索引 可以返回表的所有索引的信息。 sp_helpindex objname = name 其中objname = name子句指定当前数据库中的表的名称。 例8-4 :查看表orders 的索引。 exec sp_helpindex orders 8.3.3 用存储过程Sp_rename 更改索引名称 例8-5 更改表中的索引orders_quan 名称为orders_quantity。 sp_rename orders.orders_quan, orders_quantity, index,8.4 删除索引,8.4.1 用企业管理器 删除索引 8.4.2 用DROP INDEX 命令删除索引 DROP INDEX 命令可以删除一个或多个当前数据库中的索引。 DROP INDEX tablename.indexname ,.n DROP INDEX 命令不能删除由CREATE TABLE 或ALTER TABLE 命令创建的PRIMARY KEY 或UNIQUE 约束索引,也不能删除系统表中的索引。 例8-6: 删除表products 中的索引p_quantity。 drop index products1.p_quantity,8.5 索引调整向导,8.5.1 索引与系统性能 索引可以加快数据检索的速度,但它会使数据的插入、删除和更新变慢。尤其是簇索引,数据是按照逻辑顺序存放在一定的物理位置,当变更数据时,根据新的数据顺序,需要将许多数据进行物理位置的移动,这将增加系统的负担。对非簇索引,数据更新时也需要更新索引页,这也需要占用系统时间。因此在一个表中使用太多的索引,会影响数据库的性能。对于一个经常会改变的表,应该尽量限制表只使用一个簇索引和不超过34 个非簇索引。对事务处理特别繁重的表,其索引应尽量不超过3 个。,8.5.2 索引调整向导,索引调整向导可以帮助选择并创建一个最优化的索引集合,以提高数据库的性能。 要使用索引调整向导需要一个工作负荷记录。 工作负荷记录由SQL脚本或SQL Server Profiler(SQL SERVER监视器)创建的存储在文件或表中的跟踪组成。如果没有现存的针对要进行索引调整的数据库或表的工作负荷记录,可以通过SQL Server Profiler来创建一个。 索引调整向导可以使用查询优化器根据工作负荷记录分析索引的性能并提出相应的调整建议。可以立即让系统根据建议修改索引,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度多人持股企业股权转让及后续运营管理协议
- 2025年二手房买卖合同修订:智能家居设备验收标准
- 2025版年薪制员工劳动合同法实施细则解读与应用指南
- 2025年度汽车租赁服务合同规范范本
- 2025年货运司机安全责任与福利保障合同
- 2025版农民工劳动合同模板(含劳动纠纷解决)
- 2025年度绿色有机猪肉直销合作合同模板
- 2025年蔬菜种植基地社会化服务合作协议
- 2025厂房租赁居间合同(含设备配套服务)
- 贵州省玉屏侗族自治县2025年上半年公开招聘城市协管员试题含答案分析
- 肿瘤患者VTE预防治疗
- 被迫解除劳动合同通知书范本
- 米粉生产工艺培训
- 《poct院内培训》课件
- 副校长申请书
- 《GMP自检简介》课件
- 2025年华电新疆发电有限公司招聘笔试参考题库含答案解析
- 2025年月度工作日历含农历节假日电子表格版
- 人教版三年级下册数学口算题题卡1000道带答案可打印
- 急性呼吸衰竭急诊服务流程
- 《生物经济学》课程教学大纲
评论
0/150
提交评论