原文:http://blog.csdn.net/hantiannan/article/details/4513028

1.log_min_duration_statement

从log找出执行超过一定时间的 SQL。postgresql.conf配置文件 设置 log_min_duration_statement参数的 值。

这个参数是设置执行最小多长时间的 SQL 输出 到log。

  例如输出执行超过 3秒的SQL:log_min_duration_statement = 3s
  这个参数设置为 -1是无效。 设置为 0是 输出所有的 SQL,但 这样会增加服务器负担,一般不要设置太低的 值。
   这样设置后输出的SQL例子如下:
   LOG:duration: 3016.724 ms statement: SELECT count(*)
      FROMpg_class
 
2.contrib/auto_explain功能。Postgres8.4后增加的功能。
   默认这个功能不能使用的,需要在postgresql.conf配置文件中设置以下参数。
       shared_preload_libraries= 'auto_explain'
       custom_variable_classes= 'auto_explain'
       auto_explain.log_min_duration= 4s
    这样系统在执行的时候如果遇到超过4秒的SQL的话,会自动把执行计划输出到log。这样就直接看log就更加容易找到问题点。

执行计划例子:

LOG:  duration: 4016.724ms  plan:

    Aggregate  (cost=14.90..14.91rows=1 width=0)
     ->Hash Join  (cost=3.91..14.70rows=81 width=0)
         HashCond: (pg_class.oid = pg_index.indrelid)
          ->Seq Scan onpg_class  (cost=0.00..8.27rows=227 width=4)
          ->Hash  (cost=2.90..2.90 rows=81width=4)
                ->Seq Scan onpg_index  (cost=0.00..2.90rows=81 width=4)
                     Filter:indisunique
    STATEMENT:  SELECTcount(*)
              FROMpg_class, pg_index
             WHEREoid = indrelid AND indisunique;
 
3.log统计分析工具(PostgreSQL log analyzer)

比较有名是pgFouine 。这个工具是自动分析指定的log,然后生成HTML报表。把SQLlog图像化后更加直观。

可以统计分析最慢的SQL,调用最多的SQL,花费时间最多的SQL等等分类。这样我们就很容易找到速度慢的SQL。再加以改善。

报表例子如下:

转载于:https://www.cnblogs.com/leeeee/p/7276624.html

转载: PostgreSQL SQL的性能调试方法2--数据库log分析相关推荐

  1. Informix 11.5 SQL 语句性能监控方法及实现

    本文主要介绍 Informix 11.5 中 SQL 语句性能监控的基本方法及实现,希望能够使大家有一个比较全面的了解. 我们知道,在数据库应用系统中,SQL 语句的性能好坏至关重要.如果 SQL 语 ...

  2. Android性能调试方法工具集合 - 持续更新

    第一篇_布局优化 一,影响面 布局的设计和编码影响是多方面的,包括界面启动,交互相应,内存,GC 二,思路和要求 整体布局思路:要求layout呈现扁平化,宽而浅的效果. 基本要求: 1.       ...

  3. Oracle SQL语句性能优化方法大全

    下面列举一些工作中常常会碰到的Oracle的SQL语句优化方法: 1.SQL语句尽量用大写的: 因为oracle总是先解析SQL语句,把小写的字母转换成大写的再执行. 2.选择最有效率的表名顺序(只在 ...

  4. 【转载】SQL Server性能调教系列(5)--SQL Server配置

    一:前言 在新安装SQL Server 2005/2008之后,我们需要根据Server软硬件设施对SQL Server做一些配置,以至能够发挥较好的性能.但是在大多数情况下还是采取默认的配置. 二: ...

  5. 常见优化Sql查询性能的方法收集

    1.查询条件减少使用函数,避免全表扫描 2.减少不必要的表连接 3.有些数据操作的业务逻辑可以放到应用层进行实现 4.可以使用with as 5.使用"临时表"暂存中间结果 6.不 ...

  6. 2019-11-29-dotnet-代码调试方法

    title author date CreateTime categories dotnet 代码调试方法 lindexi 2019-11-29 8:50:0 +0800 2019-6-5 9:4:4 ...

  7. 2019-10-28-dotnet-代码调试方法

    title author date CreateTime categories dotnet 代码调试方法 lindexi 2019-10-28 08:50:11 +0800 2019-6-5 9:4 ...

  8. 分享嵌入式软件调试方法和几个工具

    关注+星标公众号,不错过精彩内容 作者 | 杂烩君 转自 | 嵌入式大杂烩 我们常常说,软件三分写七分调.实际开发中,确实也是这样子的.我工作这几年了,对这体会也越来越深.每当需求一下来,我代码很快就 ...

  9. 安卓逆向分析中常用动态调试方法总结

    安卓逆向之----常用动态调试方法 一. 前言 逆向分析中常用的分析方法有:静态分析.动态调试.HOOK等.动态调试的好处是:1)可以在调试的过程中知道参数或者局部变量的值以及变化过程,2)可以快速履 ...

最新文章

  1. Linux防火墙与iptables命令
  2. sort -k选项详解
  3. pytorch 扩展张量
  4. 【Python刷题】_1
  5. java memcachedclient_memcached client — memcached client for java使用 | 学步园
  6. python中封装一个枚举_JavaScript可扩展枚举封装
  7. web前端基础(05htmlimg标签和滚动标签)
  8. mysql load settings_在PHP中,有没有办法检查MySQL是否启用了'LOAD DATA INFILE'
  9. windows server2008服务器文件上传受限制怎么办,windows server 2008 服务器上传限制
  10. 移动端双Token免登录(附代码)
  11. Qt的对话框与窗口--自定义的对话框
  12. MySQL学习第三弹——约束与多表查询详解
  13. org.apache.felix.http.jetty %bundles.pluginTitle: Cannot start (org.osgi.framework.BundleException:
  14. 北京市高等教育英语听力计算机考试,北京市2018年高考英语听力机考问答
  15. Win10系统bhound7.sys蓝屏故障修复
  16. 电机驱动芯片--DRV8824 DRV8825
  17. 分享自己的 快马进程管理器 2008版
  18. Probability
  19. 基于遥感影像的耕地地块提取相关论文、代码以及相关开源数据集
  20. 《动手学深度学习》第二十三天---稠密连接网络(DenseNet)

热门文章

  1. python 动物分类_python入门学习之knn分类
  2. 函数的递归详解,手把手式教“斐波那契数列”
  3. Stardock的十条成功法则
  4. 气垫车-市场现状及未来发展趋势
  5. 根据经纬度查附近的点
  6. 袋鼠下载IOS用的一款不限速下载工具支持极速下载,在线秒播
  7. 云和恩墨助力渤海财险 保障核心系统高效运行
  8. 9、微信小程序学习: wepy-com-toast的使用
  9. 微信小程序安全系列——文本内容安全识别
  10. 硬盘录像机nvr装硬盘操作