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

沒有留言:

張貼留言

publish error allowDefinition='MachineToApplication'

一個老舊的aspx web form專案,調了一些功能建置成功,但進行部署時顯示以下錯誤。 在應用程式層級之外使用註冊為 allowDefinition='MachineToApplication' 的區段發生錯誤。錯誤的原因可能是虛擬目錄尚未在 IIS 中設定為...