Postgresql WITH AS和臨時表區別
1.with as
with as 只是把子查詢的語句當作了一個表,但是真實的數據並沒有插入到數據庫,它的好處是增加了代碼的可讀性和維護性。
2.臨時表
臨時表的數據是需要插入到數據庫的,所以一般用於做報表的話,在插入數據之后需要考慮是否刪除臨時表。
3.運行效率
用with as ,其實跟直接用子查詢效率上沒有什么區別;而用臨時表與永久表相似,數據是真是存儲到數據庫里,相當於第二次直接關聯的是一個小表,查詢效率大大提高。
4使用場景
with as 適用於:為了增加代碼可讀性,且沒有很多復雜的關聯子查詢。
臨時表適用於:有很多復雜的關聯子表查詢。