您的位置:首页 > 数据库

SQL SERVER复习笔记05

2012-09-23 22:50 435 查看
--十一.索引
--创建索引
create unique clustered index book1_in1 on book1(编号)
/*报错:
无法对 表 'book1' 创建多个聚集索引。请在创建新聚集索引前删除现有的聚集索引 'pri_编号'。
因为,在一个表中,只能创建一个聚焦索引,可以创建249个非聚集索引
*/
create unique nonclustered index book1_in1 on book1(编号)
--现在插入数据看看,UNIQUE是否真的有用
insert into book1 values ('1017','172','css',35,'中山大学','03-13-2008')--完整表结构插入
/* 消息 2627,级别 14,状态 1,第 1 行
违反了 PRIMARY KEY 约束 'pri_编号'。不能在对象 'dbo.book1' 中插入重复键。重复的键值为 (1017    )。
语句已终止。
*/
--删除索引
drop index book1.book1_in1

create unique nonclustered index book1_in2 on book1(编号)

--查看表中索引信息

exec sp_helpindex book1

--索引重命名
exec sp_rename 'book1.book1_in2', 'book_in3'

--索引分析和维护
--1.SHOWPLAN_ALL,分析哪些索引被系统所采用.注意:面的GO不能省略!
go
set showplan_all on
go
select * from book1
where 编号='101172'
go
set showplan_all off

--2.statistics io 显示磁盘IO的信息,在消息选项卡里显示
go
set statistics io on
go
select * from book1
where 编号='101172'
go
set statistics io off
--(1 行受影响)
--表 'book1'。扫描计数 0,逻辑读取 2 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。

--维护
--1.更新统计信息
update statistics book1 book1_in3

--2.扫描表,查看碎片信息
dbcc showcontig (book1, book1_in3)
/*
DBCC SHOWCONTIG 正在扫描 'book1' 表...
表: 'book1' (133575514);索引 ID: 6,数据库 ID: 17
已执行 LEAF 级别的扫描。
- 扫描页数................................: 1
- 扫描区数..............................: 1
- 区切换次数..............................: 0
- 每个区的平均页数........................: 1.0
- 扫描密度 [最佳计数:实际计数].......: 100.00% [1:1]
- 逻辑扫描碎片 ..................: 0.00%
- 区扫描碎片 ..................: 0.00%
- 每页的平均可用字节数.....................: 7799.0
- 平均页密度(满).....................: 3.64%
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息