2010年7月11日 星期日

temp table and table variables

temp table 包含local (#tmpTest, by sessionid) 以及global (##tmpTest) 都是 physical tables, 用法就像一般的table一樣,
1.可以alter,drop
2.可以create index, pk
3.transaction logs也會記錄其變動
4.loacal temp table 在此session內都可使用


table variables
1.可以建立 pk
2.無法create non-clustered Indexes
3.transaction logs不會記錄其變動 ,不管 table variables 是否有包含在transaction中, 自已都是獨立的
4.沒有統計資訊
5.一執行完畢馬上消失
6.使用時機為適用在較小資料且不考慮index 時的暫存處理

什麼叫較小的資料處理? 見人見智吧,自已要實測. 我自已大都用在user defined function 回傳table,或者執行Stored procedure 回傳資料集 , 例如, insert into @tmp exec zspMyProcedure

沒有留言:

張貼留言

離線安裝SSMS 22 launched extracted application exiting with result code 0x138b

SSMS 22 安裝器下載頁面 https://learn.microsoft.com/zh-tw/ssms/install/install https://aka.ms/ssms/22/release/vs_SSMS.exe 將安裝檔下載到本機,檔案好大2.5G  https:...