Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance 第9.3.4页中的嵌套视图比第8.4.8页慢得多_Performance_Nested_Views_Postgresql 9.3 - Fatal编程技术网

Performance 第9.3.4页中的嵌套视图比第8.4.8页慢得多

Performance 第9.3.4页中的嵌套视图比第8.4.8页慢得多,performance,nested,views,postgresql-9.3,Performance,Nested,Views,Postgresql 9.3,我们最近从第8.4页升级到了第9.3页,并很快注意到,在第8.4页中,在几秒钟内运行的嵌套视图需要100倍的时间,或者在第9.3页中,在合理(10分钟)的时间内永远无法完成 explain在提交查询20分钟后仍在运行explain(分析、缓冲区)时立即返回 有关9.3解释输出的详细信息,请参见 我们在VM测试平台和大型(24GB内存,900GB磁盘)prod服务器上看到了相同的结果 有人见过类似的行为吗?如果您仍然有8.4版的查询计划,那么您不认为有机会看到它吗?顶层嵌套循环节点将成为您展示的计

我们最近从第8.4页升级到了第9.3页,并很快注意到,在第8.4页中,在几秒钟内运行的嵌套视图需要100倍的时间,或者在第9.3页中,在合理(10分钟)的时间内永远无法完成

explain在提交查询20分钟后仍在运行explain(分析、缓冲区)时立即返回

有关9.3解释输出的详细信息,请参见

我们在VM测试平台和大型(24GB内存,900GB磁盘)prod服务器上看到了相同的结果


有人见过类似的行为吗?

如果您仍然有8.4版的查询计划,那么您不认为有机会看到它吗?顶层嵌套循环节点将成为您展示的计划中的杀手,尤其是在三层内部嵌套循环上。如果您
设置enable_indexonlyscan=false仅用于测试目的,您是否有更好的计划?那么
设置enable\u nestloop=false如何?(不要使用这些工具“修复”问题;它们仅用于诊断问题)。如果你有更好的计划,请发布
解释(缓冲区、详细信息、分析)
我在8.4版上运行时使用了默认设置,但despesz不接受整个计划,所以这里是前50行左右:我在9.3版上运行时使用了您建议的更改:set enable_indexonlycan=FALSE set enable_nestloop=FALSE,带explain和not explain(缓冲区,verbose,analyze),因为explain(缓冲区,verbose,analyze)没有在合理的时间内完成,即<30秒。以下是升级后是否在数据库范围内运行ANALYZE的计划?请这样做,看看计划是否改变,是否变得更好。@MatheusOl ANALYZE确实在某些情况下(但不是所有情况下)大大提高了性能。在一个实验中,执行时间从130秒下降到5秒。8.4和9.x之间的计划表差异是否可以解释执行时间的差异?不幸的是,我们没有要恢复的8.4转储,无法并行比较两个执行计划。提前感谢您提供的任何帮助。