i ertintotablename与Select*intotablename比较

文章作者 100test 发表时间 2008:01:28 09:07:37
来源 100Test.Com百考试题网


insert into tablename 时表tablename必须存在
0select * into tablename 时表不能存在

在数据库的故障还原模型为“简单”的时候,0select * into tablename要快,因为在数据库的故障还原模型为“简单”的时候0select * into tablename是不会产生大量日志的


--测试:
--前提条件是数据库的故障还原模型为“简单”

--1、用0select into 生成大数据量的表 你可以在语句运行之前查看你的ldf文件(log)
--然后在运行之后再查看,log增长很小,而建表的速度比较快
if exists (0select * from dbo.sysobjects where id = object_id(N@#[tb_pwd3]@#) and OBJECTPROPERTY(id, N@#IsUserTable@#) = 1)
0drop table [tb_pwd3]
GO
--生成临时表
0select top 256 seq_no=identity(int,0,1) into #t from syscolumns
--生成密码3位字典表内容
0select pwd=char(a.seq_no) char(b.seq_no) char(c.seq_no) into tb_pwd3 from #t a,#t b,#t c
go

0drop table #t

--这两种情况你要分开测试,测试第2种情况的时候你要保证你的磁盘有足够的空间,磁盘的格式要ntfs格式才行


--2、用insert into 生成大数据量的表 你可以在语句运行之前查看你的ldf文件(log)
--然后在运行之后再查看,log增长很快,而建表的速度也慢,要写log呀
if exists (0select * from dbo.sysobjects where id = object_id(N@#[tb_pwd3]@#) and OBJECTPROPERTY(id, N@#IsUserTable@#) = 1)
0drop table [tb_pwd3]
GO
create table tb_pwd3(
pwd char(3)
)
go
--生成临时表
0select top 256 seq_no=identity(int,0,1) into #t from syscolumns
--生成密码3位字典表内容
insert into tb_pwd3 0select pwd=char(a.seq_no) char(b.seq_no) char(c.seq_no) from #t a,#t b,#t c
go

0drop table #t


相关文章


索引在数据库中的应用分析
寻找MSOffice替代品6大免费Office办公套件
i ertintotablename与Select*intotablename比较
高级复制中如何应对主体站点故障
相对基址加变址寻址方式
2008年全国计算机等级考试调整方案
寄存器的保护与恢复
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛