首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在postgreSQL中对查询性能进行基准测试?CPU或时间,但每次运行都需要保持一致

如何在postgreSQL中对查询性能进行基准测试?CPU或时间,但每次运行都需要保持一致
EN

Stack Overflow用户
提问于 2018-07-31 05:44:03
回答 1查看 25关注 0票数 1

如何在postgreSQL中对SQL性能进行基准测试?我尝试使用Explain Analyze,但每次重复相同的查询时,都会产生不同的执行时间。

我正在对我的查询应用一些调优技术,并尝试查看我的调优技术是否提高了查询性能。解释分析器有不同的执行时间,我不能标记和比较。调优在MilliSeconds中产生了影响,所以我正在寻找可以给出固定值进行比较的bechmarch。

EN

回答 1

Stack Overflow用户

发布于 2018-07-31 05:58:38

完成一条语句所需的时间总是不同的:

  • 页可能缓存在内存中,也可能必须从磁盘读取。这通常是源码最大的deviations.
  • Concurrent进程可能需要CPU时间
  • 你必须等待内部短时间锁(deviations.
  • Concurrent)才能访问数据结构

这只是我脑海中浮现的前三件事。

简而言之,执行时间总是受到微小变化的影响。

多次运行查询并取执行时间的中位数。这就是它得到的最好的结果。

只有在查询执行了很多次的情况下,毫秒级的调优才有意义。

此外,只有当您有真实的测试数据时,调优才有意义。当查询必须使用数百万行执行时,不要犯只用几个测试数据来检查和调优查询的错误。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51602693

复制
相关文章

相似问题

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