SQL_server_创建索引的意义.pdf
文本预览下载声明
索引工作的意义
题目: 理解索引的工作意义:创建一个成绩表,在成绩表中插入几万条记录,尝试执行某个
关于笔试成绩的查询,计算出执行该查询的执行时间;然后在笔试(字段)建立索引后,再
执行相同的查询,比较这两次(索引建立前后的执行时间)来理解索引创建的意义,将中间
的执行过程,你的思路、截图?
一 ,前期准备
CREATE DATABASE Student
GO
USE Student
GO
-- 创建成绩表
create table stu_grade
(
stu_id int IDENTITY ( 1 , 1) PRIMARY KEY,
written_score int not null,
lab_score int not null
)
go
-- 创建记录数据录入所需时间表
create table data_insert_time
(
mark int identity ( 1 , 1),
datavolume int ,
recrement int ,
Time_ms int ,
Time_ss float
)
go
-- 创建维护索引所需时间表
create table maintain_index_time
(
mark int identity ( 1 , 1),
datavolume int ,
Time_ms int ,
Time_ss float
)
go
-- 创建记录未创建索引查询所需时间表
create table query_time_unindex
(
mark int identity ( 1 , 1),
datavolume int ,
Time_ms int ,
Time_ss float ,
Result int
)
go
-- 创建记录创建索引后查询所需时间表
create table query_time_index
(
mark int identity ( 1 , 1),
datavolume int ,
Time_ms int ,
Time_ss float ,
Result int
)
go
-- 创建插入数据的存储过程 , 并计算插入数据所需时间 , 同时记录所需插入时间
-- 分别创建下列存储过程
-- create proc proc_insert_40000 每插入 4 0000
-- create proc proc_insert_200000 每插入 20 0000
-- create proc proc_insert_1000000 每插入 100 0000
go
create proc proc_insert_1000000
as
DECLARE @count int , @account int , @start_time datetime , @end_time datetime
select @count = 0 , @start_time = getdate ()
while ( @count 1000000 )
begin
insert into stu_grade ( written_score , lab_score )
values ( floor ( 10
显示全部