這種提前計算的
有很多種,看情況用阿
view
建完沒有刪 就會留在裡面
通常以前我都拿來計算,期貨合約,自動更新期貨合約算完之後存進去裡面。
由於關注的合約就那幾個,全表掃也沒關係。整個schema 好看懂就好
temp table
ETL清洗搬移資料的時候很常用
通常倒進來,建一張然後到完以後開始用code去清洗。
ETL做完他其實就結束了,但是 sp 也都是會drop啦。
@table
sqlserver 自建資料型別
好處是,如果你是多元複雜資料要透過API或是function input
就是很多class 要存進不同張表,你可以用這個做一張暫時的表
然SP裡面去讀這張,分開存進去不同的目標。
這也是在記憶體裡。
subquery
比較少用拉,計算筆數,或是統計某些東西的時拿來用用
現在語法糖很多,然後會全表掃的你在百萬筆資料等級
還不不用到千萬,你用看看會等多久。
比起子查詢,比較嚴重的是很多人練習的時候不寫
with nolock 習慣了,dev,sit就算了 有時候uat prod 也這樣寫。
CTE
這沒啥好說可以遞迴,搭配 view ,temp table
還有cursor ,其實CTE CURSOR 就很不錯了耗效能
但是可以在裡面用foreach 做很多事情。
好像就這些了吧,SQL寫久了是一件很好玩的事情。
有時候寫起來比寫code爽。
ORM 也是好用,反正寫code 都是相對,沒有絕對。