数据库实验

1. 首先创建一个数据库RED

 

CREATE DATABASE RED

建立所用的表

Create TABLE [dbo].[TGongwen] ( --TGongwen是红头文件表名
[Gid] [int] IDENTITY (1, 1) NOT NULL ,
--
本表的id号,也是主键
[title] [varchar] (80) COLLATE Chinese_PRC_CI_AS NULL ,
--
红头文件的标题
[fariqi] [datetime] NULL ,
--
发布日期
[neibuYonghu] [varchar] (70) COLLATE Chinese_PRC_CI_AS NULL ,
--
发布用户
[reader] [text] COLLATE Chinese_PRC_CI_AS NULL ,
--
需要浏览的用户。每个用户中间用分隔符“,”分开
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

 

2. 插入数据我们来往数据库中添加100万条数据:
declare @i int
set @i=1
while @i<=25000
begin
insert into Tgongwen(fariqi,neibuyonghu,reader,title) values('2004-2-5','
通信科','通信科,办公室,王局长,刘局长,张局长,admin,刑侦支队,特勤支队,交巡警支队,经侦支队,户政科,治安支队,外事科','这是最先的25条记录')
set @i=@i+1
end
GO
--
耗时0:00:11 mdf文件大小 13.248M ldf文件 2.560M

--耗时0:00:11 mdf文件大小 13.248M ldf文件 2.560M
declare @i int
set @i=1
while @i<=25000
begin
insert into Tgongwen(fariqi,neibuyonghu,reader,title) values('2004-9-16','
办公室','办公室,通信科,王局长,刘局长,张局长,admin,刑侦支队,特勤支队,交巡警支队,经侦支队,户政科,外事科','这是中间的25条记录')
set @i=@i+1
end
GO
--
耗时0:00:10 mdf文件大小 21.440M ldf文件 2.560M

 

 


declare @h int
set @h=1
while @h<=10
begin
declare @i int
set @i=2002
while @i<=2003
begin
declare @j int
set @j=0
while @j<50
begin
declare @k int
set @k=0
while @k<50
begin
insert into Tgongwen(fariqi,neibuyonghu,reader,title) values(cast(@i as varchar(4))+'-8-15 3:'+cast(@j as varchar(2))+':'+cast(@j as varchar(2)),'
通信科','办公室,通信科,王局长,刘局长,张局长,admin,刑侦支队,特勤支队,交巡警支队,经侦支队,户政科,外事科','这是最后的5万条记录')
set @k=@k+1
end
set @j=@j+1
end
set @i=@i+1
end
set @h=@h+1
end
GO
--
耗时0:00:18 mdf文件大小 34.688M ldf文件 2.560M

 


declare @i int
set @i=1
while @i<=900000
begin
insert into Tgongwen(fariqi,neibuyonghu,reader,title) values('2004-5-5','
通信科','通信科,办公室,王局长,刘局长,张局长,admin,刑侦支队,特勤支队,交巡警支队,经侦支队,户政科,治安支队,外事科','这是最后添加的90万条记录')
set @i=@i+1
end
GO

 

 

--耗时0:06:10 mdf文件大小 312.768M ldf文件 2.560M

 

 

3. 搜索语句以及索引建立后的查询

 

SELECT COUNT(*) FROM Tgongwen

---语句执行花费时间6936毫秒

 

select gid,fariqi,neibuyonghu,reader,title from Tgongwen where fariqi='2004-9-16'

---语句执行花费时间15796毫秒

 

select count(*) from Tgongwen where fariqi='2004-9-16'

---语句执行花费时间7360毫秒

 

SELECT * FROM Tgongwen WHERE Gid=888888

---语句执行花费时间76毫秒

 

Select gid,fariqi,neibuyonghu,title from tgongwen

---语句执行花费时间16326毫秒

--------------------------------------------------------------建立对Gid聚集索引后的查询效果

 

CREATE UNIQUE CLUSTERED

INDEX in_Tgongwen_Gid

ON Tgongwen(Gid)

GO

--耗时0:00:14 mdf文件大小 378.496M ldf文件 2.560M

SELECT COUNT(*) FROM Tgongwen

---语句执行花费时间2046毫秒

 

select gid,fariqi,neibuyonghu,reader,title from Tgongwen where fariqi='2004-9-16'

---语句执行花费时间10296毫秒

 

SELECT * FROM Tgongwen WHERE Gid=888888

---语句执行花费时间46毫秒

 

SELECT * FROM Tgongwen WHERE Gid=686689

---语句执行花费时间30毫秒

 

Select gid,fariqi,neibuyonghu,title from tgongwen

---语句执行花费时间9860毫秒

 

------------------------------------建立对fariqi聚集索引与日期fariqi的非聚集索引后的查询效果

 

CREATE CLUSTERED

INDEX in_Tgongwen_fariqi

ON Tgongwen(fariqi)

GO

--耗时0:00:15 mdf文件大小 378.496 ldf文件 2.560M

CREATE NONCLUSTERED

INDEX in_Tgongwen_fariqiNON

ON Tgongwen(fariqi)

GO

--耗时0:00:04 mdf文件大小 378.496 ldf文件 2.560M

---------**********-----------------

SELECT COUNT(*) FROM Tgongwen

---语句执行花费时间1843毫秒

 

select gid,fariqi,neibuyonghu,reader,title from Tgongwen where fariqi='2004-9-16'

---语句执行花费时间7626毫秒

 

SELECT * FROM Tgongwen WHERE Gid=888888

---语句执行花费时间2126毫秒

 

SELECT * FROM Tgongwen WHERE Gid=686689

---语句执行花费时间106毫秒

 

Select gid,fariqi,neibuyonghu,title from tgongwen

---语句执行花费时间10263毫秒

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lyflcear

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值