首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Postgres解释分析行为

Postgres解释分析行为
EN

Database Administration用户
提问于 2014-02-24 21:12:50
回答 1查看 770关注 0票数 -2

我希望对特定复杂查询联接的性能进行基准测试,以确定主键ID的各种值。以前的大多数方法都是使用对所述查询的解释分析,并获得"Total:. ms“以计算性能。问题是,即使我使用相同的ID,我也会得到非常不同的结果,例如20秒到140秒的时间。请注意,缓存与此无关,因为当在不同时间运行相同的查询时,我会得到这种变化,即使我们谈论的是相同的ID (我总是得到相同的查询计划)。

所以我的问题是:

  1. 总体运行时是否依赖于客户机/接口(例如,pgAdminIII对psql)。我认为psql给出了更一致的值。
  2. 它是否取决于网络时间(我是在本地主机上运行,还是可以在远程计算机上运行)?
  3. 有没有一种方法来进行更一致的测量,或者这种波动是正常的?

我在一个具有2GB共享缓冲区的LinuUbuntu12.10 64位计算机上使用PostgreSQL 9.2.6 64位。

EN

回答 1

Database Administration用户

回答已采纳

发布于 2014-02-24 22:19:11

  1. 不是
  2. 不是
  3. 停止服务器上的所有其他活动,确保缓存处于已知状态。

精化:

  1. 客户端/接口不会更改发送到服务器并已处理的SQL。
  2. 在事物的方案中,网络延迟将小于1秒,而且可能要少得多,所以不是一个重要的因素。
  3. 了解影响查询时间的最佳方法是了解与运行查询的其他时间相比发生了什么变化。现在缓存和访问的数据是否更快,是服务器在开始此查询之前等待另一个查询(即表锁定),此时服务器上是否有很大的负载等等。所有这些因素和更多的因素都需要与执行分析和计划分析一起考虑。
票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/59563

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档