如何提高Postgresql的数据读取速度
问题描述:
我是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秒才能返回。为什么这样?我怀疑是导致问题的大数据读取和显示,但我该如何缩短这个时间?
答
这是一个已知的问题,pgAdmin可能需要很长时间才能显示较大的结果集。
使用其他一些客户端,如psql
。
这取决于客户端和网速/延迟。你必须说,你使用的是什么客户端。通常你什么都不能做 - 更快的网络,更快的客户端。您可以减少列数 - 不要使用星号* * - 它可以减少通过网络传输的内容。 –