SQL之索引的应用



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开销。(员工表中员工号有聚集索引,员工参与项目表中的员工号有非聚集索引)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值