暂无图片
如何查询某个时间段的消耗io高 或者消耗cpu高的sql ?
我来答
分享
暂无图片 匿名用户
如何查询某个时间段的消耗io高 或者消耗cpu高的sql ?

如何查询某个时间段的消耗io高 或者消耗cpu高的sql ?

比如2月5号,上午9点到上午11点这个时间段

我来答
添加附件
收藏
分享
问题补充
4条回答
默认
最新
lianR

要查询某个时间段的消耗IO高或者消耗CPU高的SQL,需要访问数据库的性能和监控日志。这些日志通常包含了SQL语句的执行时间、消耗的资源等信息。但是,具体的查询方法会因数据库类型和配置的不同而不同。

以MySQL为例,可以使用慢查询日志来找出在特定时间段内运行缓慢的SQL语句。首先,需要确保慢查询日志已经开启。然后,可以使用以下SQL语句来查询特定时间段的慢查询:

```sql
SELECT  *  FROM  mysql.slow_log
WHERE  start_time  BETWEEN  '2022-02-05  09:00:00'  AND  '2022-02-05  11:00:00'
ORDER  BY  query_time  DESC;
```

这个SQL语句会返回在2022年2月5日上午9点到11点之间的所有慢查询,按照查询时间从长到短排序。

对于消耗CPU高的SQL,你可能需要使用更专业的性能分析工具,如Performance  Schema、Sys  Schema或者第三方的性能监控工具。

注意,以上方法需要根据具体数据库类型和配置进行调整。

暂无图片 评论
暂无图片 有用 6
打赏 0
清风生

可以设置log_min_duration_statement参数将慢sql记录在日志中,然后结合pg_stat_statements来分析

暂无图片 评论
暂无图片 有用 1
打赏 0
浮光墨影

在PostgreSQL中,要查询某个时间段的消耗I/O高或消耗CPU高的SQL,您可以使用以下方法:

1. 使用pg_stat_statements扩展: pg_stat_statements 是一个PostgreSQL扩展,它可以记录所有执行的SQL语句的统计信息,包括执行次数、消耗的CPU时间、消耗的I/O时间等。要查询消耗I/O或CPU较高的SQL语句,您可以首先启用这个扩展,然后使用它提供的函数来查询。启用 pg_stat_statements 扩展的步骤如下:

-- 创建pg_stat_statements表(如果尚未创建)
CREATE EXTENSION pg_stat_statements;
-- 然后,您可以查询某个时间段的统计信息
-- 假设您想查询2月5号上午9点到上午11点的统计信息
SELECT
max(total_exec_time) AS max_exec_time,
max(total_io_time) AS max_io_time,
max(total_elapsed_time) AS max_elapsed_time,
max(total_rows) AS max_rows,
max(total_examined_rows) AS max_examined_rows,
statement
FROM
pg_stat_statements
WHERE
statement IS NOT NULL
AND total_exec_time > 0
AND total_io_time > 0
AND total_elapsed_time > 0
AND query_start >= now() - INTERVAL '2 hours'
AND query_start <= now()
GROUP BY
statement
ORDER BY
max_exec_time DESC,
max_io_time DESC,
max_elapsed_time DESC;

2. 使用 Performance Schema : PostgreSQL 10及以上版本引入了Performance Schema,它可以提供更深入的性能监控信息。如果使用的是PostgreSQL 10或更高版本,可以查询Performance Schema中的表来获取更详细的I/O和CPU使用情况。

暂无图片 评论
暂无图片 有用 2
打赏 0
P
pgdba
暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
PostgreSQL里有只编译语句但不执行的方法吗?
回答 2
已采纳
https://stackoverflow.com/questions/8271606/postgresqlsyntaxcheckwithoutrunningthequery/13209943这个问答
postgreSQL 10G的数据用pg_dump备份用了一天,是什么原因,如何优化?
回答 1
1、表数量如何?大小是否均匀,比如有的表很小,有的表特别大?2、是否起并行了?3、备份时的io情况如何?
pgbulkload” does not exist
回答 1
dtestdb,连接哪个数据库那个数据库就需要createextensionpgbulkload;否则对应数据库中是没有对应模式和函数的
sys_rman如何查看命令的参数?
回答 1
./sysrmanhelp参考:pgbackrest2.27
pgtt插件编译错误,pg 10.10 ,下载的pgtt 是2.1
回答 1
看看pgtt的项目里的ChangeLog
这个SQL是什么意思,请大神解释一下,谢谢
回答 2
明白了,感谢感谢
pg 中的scram-sha-256和md5?
回答 2
当pghba.conf文件配置的认证方法为md5,但服务端用户密码采用SCRAM加密时,服务端会自动采用SCRAM认证。演示过程如下:$psqlc&quot;SELECTrulenumber,type
postgreSQL 数据库突然变的非常的卡,出现大量的慢语句,各种优化都得不到改善,重启数据库以后就正常了,这怎么处理?
回答 3
有可能内存上的问题,使用率比较高?
使用 Pgpool-II 在线恢复设置 PostgreSQL 备用服务器时,如何看程序的日志或错误输出?
回答 1
查下pgpool的配置文件,如:/etc/pgpool.conflogdir'/var/run/pgpool'
postgreSQL pg auto failover 还是 repmgr 还是 patroni 好?
回答 1
各有各的好,patroni更加完善一些
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~