对于DBA而言,Oracle 数据库中的 V$SQL 视图是一个至关重要的动态性能视图,它提供了关于 SQL 语句执行性能的关键指标,如执行次数、CPU 时间、逻辑读、物理读等,这些信息可以帮助 DBA 和开发人员识别性能瓶颈。

当然对于数据治理人员而言,看到的是另外一面,全库的血缘关系,不管是历史的还是正在进行的,尤其是当对业务系统一无所知的时候。现在的数据治理绝大多数都是片面的,无非是静态的元数据管理,基于ETL工具过程产生的血缘关系,或者是基于存储过程产生的静态血缘关系。曾经有过梦想,想实现一个完全自动化的业务系统血缘关系,前几天也实现了一个简单的原型,后面有机会再慢慢完善吧。
再说回V$SQL,有兴趣的可以看一下SQL_Text字段和SQL_FullText字段。
| SQL 标识信息 | ||
| 执行统计信息 | ||
| 资源使用信息 | ||
| 等待事件信息 | ||
| 优化器和解析信息 | ||
| 会话和连接信息 | ||
| SQL 计划和基线信息 | ||
| 时间信息 | ||
| 其他信息 | ||
当然 这只是Oracle数据库的用户,其实各数据库基本上也都有自己的秘密工具,以PostgreSQL为例,其实是pg_stat_statements,这个表只能说像v$SQL,当然要用的话,还是需要进行一些配置的。
pg_stat_statements 是 PostgreSQL 中最接近 Oracle V$SQL 的功能,它收集数据库中执行的 SQL 语句的统计信息。
启用方法:
首先需要在 postgresql.conf 中启用该扩展:
shared_preload_libraries = 'pg_stat_statements'然后重启 PostgreSQL 服务,并在每个需要使用的数据库中创建扩展:
CREATE EXTENSION pg_stat_statements;查询 SQL 执行统计信息:
SELECT * FROM pg_stat_statements;执行结果如下:

最后欢迎关注公众号:python与大数据分析

文章转载自追梦IT人,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




