PostgreSQL的时间是什么意思

时间:2014-03-14 13:34:43

标签: postgresql

我发现PostgreSQL中有两种类型的时间:

  1. \ timing:返回查询执行时间以及将数据从服务器传输到客户端的时间成本。
  2. 解释分析:返回查询执行时间
  3. 他们是对的吗? 如何查看查询计划时间?
    在什么范围内,查询执行时间是可以接受的? ms级别?

    感谢。

1 个答案:

答案 0 :(得分:3)

\时间是在客户端测量的时间。

EXPLAIN ANALYZE是在服务器端测量的时间。

\ timing更加现实,因为结果会受到网络传输速度的影响。 EXPLAIN ANALYZE不那么逼真,因为你消除了网络速度的影响(当你调查一些奇怪的时候可能会有趣),但它显示了有关查询处理的详细信息。没有任何其他参数,时序测量会产生很大的开销(在最近的PostgreSQL版本中它更少)。当你可以获得更实际的时间时,你可以使用

EXPLAIN (ANALYZE, TIMING OFF) SELECT ...

测量的时间以毫秒为单位 - 可接受的范围取决于使用情况 - 对于Web应用程序来说小于50毫秒,对于桌面应用程序小于200毫秒,对于快速分析小于5秒。但查询速度通常取决于IO速度,因此如果您必须处理20GB表聚合,那么您不能期望时间少于100秒(取决于表中有多大部分必须处理)。