2017-02-09 77 views
0

我是postgresql的新手。如何提高Postgresql的数据读取速度

首先我有一个名为school_view视图包含来自多个国家的所有学校:

SELECT * FROM country1_schools 
UNION 
SELECT * FROM country2_schools 
UNION 
..... 

有20万左右的记录

我尝试pgAdmin的运行以下命令:

SELECT * FROM school_view 

结果花了17秒钟才回来。我试着用

EXPLAIN ANALYZE SELECT * FROM school_view 

EXPLAIN ANALIAE查询分析计划时间为15ms,执行时间为900ms。

所以我试图用物化视图,而不是普通视图和

EXPLAIN ANALYZE SELECT * FROM school_material_view 

规划时间变得0.192ms和执行时间变成36.9ms。然而,问题出在这里,当我运行时

SELECT * FROM school_material_view 

结果仍然需要17秒才能返回。为什么这样?我怀疑是导致问题的大数据读取和显示,但我该如何缩短这个时间?

+0

这取决于客户端和网速/延迟。你必须说,你使用的是什么客户端。通常你什么都不能做 - 更快的网络,更快的客户端。您可以减少列数 - 不要使用星号* * - 它可以减少通过网络传输的内容。 –

回答

0

这是一个已知的问题,pgAdmin可能需要很长时间才能显示较大的结果集。

使用其他一些客户端,如psql