1、变量表:
declare @SDT datetime,@EDT datetime --定义执行开始、结束时间 set @SDT=getdate() --定义变量表 declare @t table ( ID int, Myfield nvarchar(50), InputDT datetime ) --插入数据到变量表 insert @t select top 10000 ID,Myfield,getdate() from 表 set @EDT=getdate() select DATEDIFF(ms,@SDT,@EDT) AS Diffms --开始、结束时间间隔
2、临时表
declare @SDT datetime,@EDT datetime set @SDT=getdate() --创建临时表: create table #t ( ID int, Myfield nvarchar(50), InputDT datetime ) insert #t select top 10000 ID,Myfield,getdate() from 表 select * from #t set @EDT=getdate() select DATEDIFF(ms,@SDT,@EDT) AS DiffNS drop table #t
不创建临时表直接插入
declare @SDT datetime,@EDT datetime set @SDT=getdate() select top 10000 ID,Myfield,getdate() into #t from 表 select * from #t set @EDT=getdate() select DATEDIFF(ms,@SDT,@EDT) AS DiffNS drop table #t
总结:数据量少的时[总行数小于1000],使用变量表
数据量大时(行数>10万),使用创建临时表再插入。
数据量一般时(10万>行数>1万),使用不建立临时表直接插入。
以上测试在各机器上结果可能不同。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。