这种提前计算的
有很多种,看情况用阿
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 都是相对,没有绝对。