Postgresql WITH AS和临时表区别
1.with as
with as 只是把子查询的语句当作了一个表,但是真实的数据并没有插入到数据库,它的好处是增加了代码的可读性和维护性。
2.临时表
临时表的数据是需要插入到数据库的,所以一般用于做报表的话,在插入数据之后需要考虑是否删除临时表。
3.运行效率
用with as ,其实跟直接用子查询效率上没有什么区别;而用临时表与永久表相似,数据是真是存储到数据库里,相当于第二次直接关联的是一个小表,查询效率大大提高。
4使用场景
with as 适用于:为了增加代码可读性,且没有很多复杂的关联子查询。
临时表适用于:有很多复杂的关联子表查询。