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
--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