南昌大学数据库实验完整版 下载本文

②重命名索引,将索引“stu_id”重命名为“学生表_学号”。 结果如图:

③删除索引“学生表_学号”。 结果如图:

2)使用T-SQL语句创建、管理索引

16 / 50

①为学生表创建一个索引名为“stu_id”的唯一性非聚集索引,索引关键字是“学号”,填充因子80 %。 代码如下:

结果如下:

②重命名索引,将索引“stu_id”重命名为“学生表_学号”。 代码如下:

结果如下:

③为学期成绩表创建一个索引名为“学生_成绩_index”的非聚集复合索引,索引关键字为“学号”,升序,课程编号,降序,填充因子50%。 代码如下:

结果如下:

④删除索引“学生表_学号”和“学生_成绩_index”。 代码如下:

结果如下:

3)索引前后的执行计划

①删除学生表中学号上的主键。按学生姓名和课程名称查询对应的成绩,然后观察执行计划信息,计算总的I/O和CPU开销。(学生表和学期成绩表中的学号都没有索引)

17 / 50

代码如下:

结果如下:

查询语句:

注: Ctrl+L查看开销 结果如下:

观察执行计划:

18 / 50

计算:

I/O=0.003125+0.003125+0.003125=0.9375

CPU=0.018093+0.0001296+0.000168+0.0001911+0.0001581=0.0187398

②为学期成绩表创建一个索引名为“学期成绩_学号”的非聚集索引,索引关键字为“学号”,升序;按学生姓名和课程名称查询对应的成绩,然后观察执行计划信息,计算总的I/O和CPU开销。(学生表中学号没索引,学期成绩表中的学号有非聚集索引)

19 / 50

观察执行计划:

20 / 50