use xmgl
--1
create unique index emp_id on 员工表(员工号) with(fillfactor=80)
--2
sp_rename '员工表.emp_id' ,'员工表_员工号'
--3
create index 员工_项目_index on 员工参与项目表(员工号 asc,项目编号 desc) with(fillfactor=50)
--4
drop index 员工参与项目表.员工_项目_index
drop index 员工表.员工表_员工号
use xmgl
--1
select 姓名,项目名称,职责 from 员工表,员工参与项目表,项目表 where 员工表.员工号=员工参与项目表.员工号 and 员工参与项目表.项目编号=项目表.项目编号
--2
create index 员工参与项目表_员工号 on 员工参与项目表(员工号 asc)
select 姓名,项目名称,职责 from 员工表,员工参与项目表,项目表 where 员工表.员工号=员工参与项目表.员工号 and 员工参与项目表.项目编号=项目表.项目编号
--3
alter table 员工表 add primary key(员工号)
drop index 员工参与项目表.员工参与项目表_员工号
select 姓名,项目名称,职责 from 员工表,员工参与项目表,项目表 where 员工表.员工号=员工参与项目表.员工号 and 员工参与项目表.项目编号=项目表.项目编号
--4
create index 员工参与项目_员工号 on 员工参与项目表(员工号 asc)
select 姓名,项目名称,职责 from 员工表,员工参与项目表,项目表 where 员工表.员工号=员工参与项目表.员工号 and 员工参与项目表.项目编号=项目表.项目编号
这里是相应的题目,大家可以一起练习了试试手,需要mdb文件的可以找我要
1)使用对象资源管理器创建、管理索引
①为员工表创建一个索引名为“emp_id”的唯一性非聚集索引,索引关键字是“员工号”,填充因子80 % 。
②重命名索引,将索引“emp_id”重命名为“员工表_员工号”。
③删除索引“员工表_员工号”。
2)使用T-SQL语句创建、管理索引
①为员工表创建一个索引名为“emp_id”的唯一性非聚集索引,索引关键字是“员工号”,填充因子80 % 。
②重命名索引,将索引“emp_id”重命名为“员工表_员工号”。
③为员工参与项目表创建一个索引名为“员工_项目_index”的非聚集复合索引,索引关键字为“员工号”,升序,项目编号,降序,填充因子50%。
④删除索引“员工表_员工号”和“员工_项目_index”。
3)索引前后的执行计划
①删除员工表中员工号上的主键。按员工姓名和项目名称查询对应的职责,然后观察执行计划信息,计算总的I/O和CPU开销。(员工表和员工参与项目表中的员工号都没有索引)
②为员工参与项目表创建一个索引名为“员工参与项目_员工号”的非聚集索引,索引关键字为“员工号”,升序;按员工姓名和项目名称查询对应的职责,然后观察执行计划信息,计算总的I/O和CPU开销。(员工表中员工号没索引,员工参与项目表中的员工号有非聚集索引)
③重建员工表中员工号上的主键,删除“员工参与项目_员工号”的非聚集索引。按员工姓名和项目名称查询对应的职责,然后观察执行计划信息,计算总的I/O和CPU开销。(员工表中员工号有聚集索引,员工参与项目表中的员工号没有非聚集索引)
④为员工参与项目表创建一个索引名为“员工参与项目_员工号”的非聚集索引,索引关键字为“员工号”,升序。按员工姓名和项目名称查询对应的职责,然后观察执行计划信息,计算总的I/O和CPU开销。(员工表中员工号有聚集索引,员工参与项目表中的员工号有非聚集索引)
SQL索引管理实战
本文详细介绍了如何使用T-SQL语句及对象资源管理器进行SQL索引的创建、重命名与删除操作,并通过实际案例演示了不同索引配置下查询执行计划的变化,帮助读者深入理解索引对数据库性能的影响。
166

被折叠的 条评论
为什么被折叠?



