您的位置:首页 > 数据库

数据库实验

2009-07-17 16:37 113 查看
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,刑侦支队,特勤支队,交巡警支队,经侦支队,户政科,治安支队,外事科','这是最先的2万5条记录')
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,刑侦支队,特勤支队,交巡警支队,经侦支队,户政科,外事科','这是中间的2万5条记录')
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毫秒
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: