這種提前計算的 有很多種,看情況用阿 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 都是相對,沒有絕對。 -- WHY SO SERIOUS??? -- ※ 發信站: 批踢踢實業坊(ptt-web.org.tw), 來自: 1.162.145.171 (臺灣) ※ 文章網址: https://ptt-web.org.tw/Gossiping/M.1721726163.A.049
lagi5487: 喔喔原來如此 111.71.214.121 07/23 17:16
nfsong: 哦哦哦 223.136.80.40 07/23 17:18
marx93521: CTE比temp table耗效能嗎? 101.10.104.116 07/23 17:19
jhjhs33504: 會需要轉換成columnar database嗎? 36.228.21.82 07/23 17:33