千家信息网

SQL中的变量表和临时表

发表于:2024-11-16 作者:千家信息网编辑
千家信息网最后更新 2024年11月16日,1、变量表:declare @SDT datetime,@EDT datetime --定义执行开始、结束时间set @SDT=getdate()--定义变量表declare @t table(
千家信息网最后更新 2024年11月16日SQL中的变量表和临时表

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 datetimeset @SDT=getdate()--创建临时表:create table #t(ID int,Myfield nvarchar(50),InputDT datetime)insert #t select top 10000 ID,Myfield,getdate() from 表select * from #tset @EDT=getdate()select DATEDIFF(ms,@SDT,@EDT) AS DiffNSdrop table #t

不创建临时表直接插入

declare @SDT datetime,@EDT datetimeset @SDT=getdate()select top 10000 ID,Myfield,getdate()  into #t from 表select * from #tset @EDT=getdate() select DATEDIFF(ms,@SDT,@EDT) AS DiffNSdrop table #t

总结:数据量少的时[总行数小于1000],使用变量表
数据量大时(行数>10万),使用创建临时表再插入。
数据量一般时(10万>行数>1万),使用不建立临时表直接插入。

                                以上测试在各机器上结果可能不同。
0