当前位置:首页 >> >> 第9章 SQL Server 2005索引及应用_图文

第9章 SQL Server 2005索引及应用_图文


网络数据库技术
第9章 索引及其应用
9.1 索引概述 1.表上可以建立索引,也可以不建立索引,没有建立索引 的数据库和表照样可以正常工作。 2.什么时候需要在表上建立索引 表的数据很多,而查询又很频繁时 3.为什么索引可以加快查询 4.索引维护 5.创建的索引一定会被使用吗? 索引是否建立由用户需要决定,索引是否使用由数据库 引擎中的查询优化器决定的。

网络数据库技术
(1)表扫描 表扫描不使用索引。 表扫描是指查询优化器读取表中的所有行,并提取满足查 询条件的行。 (2)索引扫描 6. 索引对什么样的操作有用 对于包含SELECT、UPDATE或DELETE语句的各种查询, 索引会有用,索引对INSERT操作起不到性能提高的作用。

网络数据库技术
7.建立索引的思路 (1)定义有主键的列可以建立索引 (2)定义有外键的列可以建立索引 (3)在经常查询的列上最好建立索引 1)需要在制定范围内快速或频繁查询的列 2)经常用在where子句中的列 (4)对于那些查询中很少涉及的列、重复值比较多的列 不要建立索引 (5)在定义为TEXT、NTEXT、IMAGE和BIT数据类型 的列上不要建立索引。

9.2 SQL Server 2005的索引类型 1.聚集索引 聚集索引中索引存储的值的顺序和表中数据的 物理存储顺序 是完全一致的。 2.非聚集索引 非聚集索引存储的数据顺序一般和表的物理数据的存储不 同。 3.唯一索引 唯一索引是指索引值必须是唯一的。 4.索引视图 5.全文索引

网络数据库技术

网络数据库技术
9.3 索引中数据的存储
1.存储索引数据的单位 索引页,标准大小为8KB 2.堆结构 堆结构中数据按照插入的先后顺序存放。 3.B+树结构 4.表和索引的存储结构

(1)如果表上没有建立索引,则表的数据按照堆结构进行管理 (2)如果表上建立有聚集索引,则表的数据按照B+树进行管理 (3)如果表上建立的是非聚集索引,则表的数据按照堆进行管理,索引 的数据按照B+树进行管理 (4)如果表上既有聚集索引,又有非聚集索引,则表和索引的数据都是 按照B+树进行管理。

网络数据库技术
9.4 创建索引
1.创建索引之前,注意: (1).尽可能对空表创建索引 (2).创建索引的次序 先创建聚集索引,然后创建非聚集索引 2.什么是联机创建索引 在不中断用户对数据库访问的情况下创建索引,允许并发 用户在创建索引期间访问表和索引的数据。

网络数据库技术
3.索引的创建 SQL Server提供两种创建索引的方法: (1)使用SQL Server Manangement Studio建 立索引 ? (2) 利用sql命令建立索引 ? 例1 为kc表的课程名列建立索引 ? use xscj ? if exists(select name from sysindexes where name=‘kc_name_ind’) ? drop index kc.kc_name_ind ? Go ? Use xscj ? Create index kc_name_ind on kc(kcm)

网络数据库技术
创建索引的语法格式

Create [unique] [clustered | nonclustered]
Index index_name

On {table | view }(column [ASC | DESC][,…N])
[with <index_option >[,…n]] [on filegroup]

网络数据库技术
? 例2 根据kc 表的课程号创建唯一聚集索引 ? use xscj name=‘kc_id_ind’) ? drop index kc.kc_id_ind ? If exists(select name from sysindexes where

? Go
? Create unique clustered index kc_id_ind on kc(课程号)

网络数据库技术

? use xscj

?
?

Create index kc_number_ind on kc(kch)
with drop_existing=on

网络数据库技术
? 例 根据xs_kc表的学号和课程号创建复合索引

?
? ?

use xscj
if exists(select name from sysindexes where name=’xs_kc_ind’) drop index xs_kc.xs_kc_ind

? Go

? Create index xs_kc_ind on xs_kc(学号,课程号)

网络数据库技术
例(教材) 示例7.1 Use student Go Create clustered index stud_id_index on stud_grade(stud_id) ? Go ? ? ? ? ?

网络数据库技术
示例7.2 Use student Go Create nonclustered index courseindex on stud_grade(course_id) ? Go ? ? ? ?

网络数据库技术
? 练习7.1 ? Use student ? Go ? create unique index id_dex on stud_grade(stud_id) ? Go ? 练习7.2 ? Use student ? Go ? create unique course_index id_dex on stud_grade(course_id,stud_id)

网络数据库技术
练习7.3 Use student Go Create index xh1_index on stud_grade(stud_id) with fillfactor=60 ? go ? ? ? ?

网络数据库技术
? ? ? ? ? ? ? ? 9.5 索引的修改与维护 (1)使用系统存储过程查看索引信息 Exec sp_helpindex table_name 例(教材示例7.3) use student Go Exec sp_helpindex stud_info go

网络数据库技术
? ? ? ? ? ? ? (2)查看索引使用的空间信息 Sp_spaceused (3)查看索引属性 Indexproperty(table_id,index,property) 例(教材练习7.6) Use student Select indexproperty(object_id(‘stud_grade’),’cours e_grade_index’,ispadindex)

网络数据库技术
? (4)修改索引 ? Alter index

? ? ? ? ?

(5)其他 1)showplan:显示查询语句的执行信息 Set showplan_all {on|off} 或 Set showplan_text {on|off}

网络数据库技术
? 2)statistics io:显示实行数据检索语句所花费的磁盘 活动量信息。 ? Set statistics io {on|off} ? 例(教材示例7.4) ? Set showplan _all off ? Go Set statistics io on go select name as 姓名,year(getdate())-year(birthday) as 年龄 from stud_info where gender=‘男’ go

网络数据库技术
? ? ? ? ? ? ? ? ? ? ? (2)维护索引的方法 DBCC showcontig检查有无索引碎片 DBCC indexdefrag整理索引碎片 教材练习7.7 Use student Go Dbcc indexdefrag(student,stud_grade,stud_id_index) Go 其他减少碎片的方法 1)删除并重新创建聚集索引 2)使用alter index reorganize按照逻辑顺序重新排序索引 的叶级页 ? 3)使用ALTER INDEX REBUILD联机或脱机重新生成索引

网络数据库技术
? ? ? ? ? ? ? ? ? ? 9.7 索引统计 9.7.1 创建和修改统计信息 1.使用Create statistics 创建统计信息 Create statistics statistics_name On {table|view}(column[,…n]) [with [[fullscan |sample number {percent|rows}][,]] [norecompute] ]

网络数据库技术
? ? ? ? ? ? 教材示例7.5 Create statistics grade_statis on stud_grade(course_id,grade) with sample 5 percent Go 2.使用sp_createstats在所有用户表上创建统计

网络数据库技术
? ? ? ? ? ? ? ? ? ? ? 3.更新统计 教材示例7.6 Use student go Update statistics stud_info Go 教材示例7.7 Use student go Update statistics stud_info pk_stud_info Go

网络数据库技术
? 9.7.2 统计信息的查看与删除 ? 1查看统计信息 ? DBCC SHOW_STATISTICS(table,target) ? Drop statistics stud_grade.grade_statis

网络数据库技术
9.8 索引的查看、更名与删除 9.8.1 查看表中的索引 (1)查看索引类型、文件组或分区方案和索引的当前位 置 ? use xscj ? select * from sys.indexes (2)查看索引的列ID、索引内的位置类型和排序顺序 ? use xscj ? select * from sys.index_columns .(3)查看与索引有关的统计信息 ? use xscj ? select * from sys.stats

网络数据库技术
? ? ? ? ? ? ? 9.8.2 索引的更名与删除 1.索引更名 Sp_rename 教材练习7.14 Use student Go Exec sp_rename ‘stud_grade.course_grade_index’,’cg_index’

网络数据库技术
2. 索引的删除 ? (1).通过SQL Server Manangement Studio ? (2) 命令删除 ? Drop index table_name.index_name

网络数据库技术
删除索引之前,需要明确: (1)什么时机删除索引 (2)删除表或视图对索引有什么影响 (3)删除索引需要什么权限 (4)先删除聚集索引还是先删除非聚集索 引


更多相关文档:

sql_server_2005索引及应用上课_图文.ppt

sql_server_2005索引及应用上课 - SQL Server 2005 索引及应用 第10章 索引及其应用 索引是一种特殊类型的数据库对象,它保存着数据表 中一列或几列组合的排...

SQL Server 2005第9章_图文.ppt

SQL Server 2005第9章_计算机软件及应用_IT/计算机_专业资料。sql ...联机备份 数据库的高度规范化 很少或没有历史数据或聚合数据小心使用索引 OLTP...

第9章 索引_图文.ppt

第9章 索引 - 数据库原理及应用 (SQL Server 2005) ) 第9章 索引 第9章 索引 章 任务目标: ?理解索引的概念、结构和分类、优缺点; ?掌握创建索引的方法...

第9章索引及应用_图文.ppt

第9章索引及应用 第9章 索引及其应用 章索引是一种特殊类型的数据库对象...SQL Server 2005中,创建索引有两种方法: 1.使用T-SQL语句创建索引 使用SQL ...

第9章 SQL Server2005数据完整性.doc

第9章 SQL Server2005数据完整性_计算机软件及应用_IT/计算机_专业资料。教学 ...当为表指定 PRIMARY KEY 约束时, SQL Server 2005 通过为主键列创建唯一索引...

第9章索引及应用.ppt

SQL Server 2005 实用教程电子工业出版社 出版 第9章索引及应用 第9章 索引及其应用 章索引是一种特殊类型的数据库对象,它保存着数据表 中一列或几列组合...

SQL Sever 2005第11章 索引原理及应用_图文.ppt

SQL Sever 2005第11章 索引原理及应用_计算机软件及应用_IT/计算机_专业资料。...使用索引的场合 ? 聚集索引和非聚集索引的使用 ? SQL Server索引的架构 ? SQL...

第9章 SQL Server 2005基础第三版_图文.ppt

第9章 SQL Server 2005基础第三版 - 国家“十一五”规划教材 数据库原理与应用教程(第3版) 第9章 SQL Server 2005基础 ? ? ? ? 9.1 SQL S...

第六章 sql server2005 索引_图文.ppt

第六章 sql server2005 索引 - SQL Server 2005 索引 数据库的索引类似于书籍的索引。在书籍中,索引允许 用户不必翻阅完整个书就能迅速地找到所需要的信息。在 ...

第六章 sql server2008 索引_图文.ppt

第六章 sql server2008 索引_计算机软件及应用_IT/计算机_专业资料。SQL Server 2008 索引在关系型数据库中,索引是一种可以加快数据检索的数据库结构,它主 要...

9SQLppt第9章_图文.ppt

9SQLppt第9章_IT/计算机_专业资料。引导你从sql一步步学习 第9章 视图、索引...分为标准视图、 在SQL Server 2005中,视图可以分为标准视图、索引视图 和分区...

SQL Server 2005实用教程第5章 索引_图文.ppt

SQL Server 2005实用教程第5章 索引 - 第5章 索引 5.1 索引 5.2 索引的分析与维护 在数据库的管理中...

第6章 索引的创建与使用.ppt

第6章 索引的创建与使用_计算机软件及应用_IT/计算机_专业资料。SQL Server2005...? 建立唯一索引的字段最好不允许为空(NOT NULL) 2015-7-1 9 SQL Server...

SQL_Server_2005_索引_图文.ppt

SQL_Server_2005_索引_计算机软件及应用_IT/计算机_专业资料。索 引 学习目标 ...SQL server 2005索引 14页 免费 第六章 SQL server2005 ... 9页 免费 ...

第9章 索引_图文.ppt

第9章 索引 - 数据库原理与应用 (SQL Server 2005) 第9章 索引 第9章 索引 ? 任务目标: ? ?理解索引的概念、结构和分类、优缺点; ? ?掌握创建索引的...

SQL Server2005索引碎片分析和解决方法.doc

理解应用特征,系统性能 SQL Server 提供的碎片统计信息,是正确决定何时进行碎片...第六章 SQL server2005 ... 9页 免费 通过SQL Server2005索引... 24页 ...

SQL Server 2005数据库应用技术第4章 索引与数据完整性....ppt

SQL Server 2005数据库应用技术第4章 索引与数据完整性_计算机软件及应用_IT/计算机_专业资料。《SQL Server 2005 数据库应用技术》 4.1 索引概述 4.2 索引的操作...

SQL Server2005数据库应用技术课程介绍_图文.ppt

SQL Server2005 数据库应用技术课程介 绍信息工程学院 1、课程性质、任务、目的...第10章 创建索引文件 第11章 存储过程 第12章 触发器 章第13章 游标及事务...

sql server 2005_06_图文.ppt

第6章 创建优化索引 SQL Server 2005数据库开发与实现第1章:SQL Server 2005启航 第10章:使用 XML 第11章:灾难恢复 第12章:管理安全性 第13章:监视 SQL ...

如何进行SQL_SERVER_2005备份与恢复_图文.ppt

如何进行SQL_SERVER_2005备份与恢复 - 第9章 SQL SERVER 2005备份与恢复 备份概述 ? 备份类型 ? 创建备份设备 ? 数据库备份的执行 ? 恢复(还原)概述 ...

更多相关标签:
网站地图

文档资料共享网 nexoncn.com copyright ©right 2010-2020。
文档资料共享网内容来自网络,如有侵犯请联系客服。email:zhit325@126.com