我发现PostgreSQL中有两种类型的时间:
感谢。
答案 0 :(得分:3)
\时间是在客户端测量的时间。
EXPLAIN ANALYZE是在服务器端测量的时间。
\ timing更加现实,因为结果会受到网络传输速度的影响。 EXPLAIN ANALYZE不那么逼真,因为你消除了网络速度的影响(当你调查一些奇怪的时候可能会有趣),但它显示了有关查询处理的详细信息。没有任何其他参数,时序测量会产生很大的开销(在最近的PostgreSQL版本中它更少)。当你可以获得更实际的时间时,你可以使用
EXPLAIN (ANALYZE, TIMING OFF) SELECT ...
测量的时间以毫秒为单位 - 可接受的范围取决于使用情况 - 对于Web应用程序来说小于50毫秒,对于桌面应用程序小于200毫秒,对于快速分析小于5秒。但查询速度通常取决于IO速度,因此如果您必须处理20GB表聚合,那么您不能期望时间少于100秒(取决于表中有多大部分必须处理)。