基本原則:能用表變量就用表變量。實(shí)在不行才使用臨時(shí)表。
如與動(dòng)態(tài)語(yǔ)句結(jié)合、外部需要使用等,就需要臨時(shí)表。
表變量主要開(kāi)銷(xiāo)系統(tǒng)的內(nèi)存,而臨時(shí)表則使用tempdb。對(duì)于小數(shù)據(jù)量的中間數(shù)據(jù)存儲(chǔ),可以使用表變量,而當(dāng)需要臨時(shí)保存的數(shù)據(jù)量很龐大時(shí),建議使用臨時(shí)表。具體使用表變量還是臨時(shí)表,可以根據(jù)系統(tǒng)的運(yùn)行狀況來(lái)調(diào)整。
declare @tb table(id int,name varchar(50),age int) --創(chuàng)建表變量

insert @tb select 1,'nn',14
union all select 1,'nn',14

select * from @tb




create table #t(id int,name varchar(50),years int,nums int)--創(chuàng)建臨時(shí)表

insert #t select 1,'nn',14,15
union all select 1,'nn',14,15
insert into #t exec sp_gets --可以用于存儲(chǔ)過(guò)程或動(dòng)態(tài)SQL結(jié)合

select * from #t
drop table #t
如與動(dòng)態(tài)語(yǔ)句結(jié)合、外部需要使用等,就需要臨時(shí)表。
表變量主要開(kāi)銷(xiāo)系統(tǒng)的內(nèi)存,而臨時(shí)表則使用tempdb。對(duì)于小數(shù)據(jù)量的中間數(shù)據(jù)存儲(chǔ),可以使用表變量,而當(dāng)需要臨時(shí)保存的數(shù)據(jù)量很龐大時(shí),建議使用臨時(shí)表。具體使用表變量還是臨時(shí)表,可以根據(jù)系統(tǒng)的運(yùn)行狀況來(lái)調(diào)整。

















