这篇文章主要介绍“PostgreSQL新特性分析”,在日常操作中,相信很多人在PostgreSQL新特性分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PostgreSQL新特性分析”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!在PG 8.4 ~ PG 11,PG会把WITH中的查询视为”optimization fence”(优化围栏,与WITH外的查询隔离,独立优化),也就意味着谓词下推等优化手段无法应用到WITH子句中,考虑到CTE在大多数情况下是为了增强可读性而存在,因此在PG 12中,满足以下三个条件的,优化器将不会对CTE”视而不见”而是执行”积极的”优化免费主机域名.
A.递归查询
B.没有任何副作用(side effect)
C.仅在查询的后续部分引用一次谓词下推
测试脚本:查询语句:在PG 11中,其执行计划如下:在PG 12中,其执行计划如下:可以看到,在PG 11中,谓词(id id ) AND ((id % 4) = 0))).New Option
如果希望12的优化器行为与先前的一样,则加入Option : MATERIALIZED.如果希望优化器把尽可能的把CTE视为内联查询进行优化,则指免费主机域名定NOT MATERIALIZED Option:
下面的查询,CTE被引用多次,优化器默认会进行MATERIALIZED,通过指定NOT MATERIALIZED则强制为内联查询.使用NOT MATERIALIZED选项到此,关于“PostgreSQL新特性分析”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注云技术网站,小编会继续努力为大家带来更多实用的文章!
小编给大家分享一下如何解决MySQL启动时1067错误问题,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! 免费主机域名 解决MySQL启动时万恶的1067错误(转)[@more@]我的机器不知为何,安装MySQL的时候,一到配置那一步就无休止…