前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SQL Monitor中status的作用

SQL Monitor中status的作用

作者头像
bisal
发布2022-03-07 14:32:37
4390
发布2022-03-07 14:32:37
举报
文章被收录于专栏:bisal的个人杂货铺

SQL调优和性能监控利器SQL Monitor》提到了SQL Monitor,通过v$sql_monitor视图找到对应的SQL,其中有个字段是status,

包括这些值,

  • QUEUED - SQL statement is queued
  • EXECUTING - SQL statement is still executing
  • DONE (ERROR) - Execution terminated with an error
  • DONE (FIRST N ROWS) - Execution terminated by the application before all rows were fetched
  • DONE (ALL ROWS) - Execution terminated and all rows were fetched
  • DONE - Execution terminated (parallel execution)

其中有个FIRST N ROWS,如果熟悉CBO优化器的朋友,可能看着眼熟,能推测出他的意思应该是“执行完成,但是仅获取前N行”。

模拟一下,执行这条语句,正常完成,

代码语言:javascript
复制
SQL> select /*+ monitor */ count(*) from test;
  COUNT(*)
----------
     72377

此时v$sql_monitor显示的DONE(ALL ROWS),

代码语言:javascript
复制
SQL> select username, sql_id, sql_text, status from v$sql_monitor where sql_text like '%test%' and sql_text not like '%v$sql_monitor%';
USERNAME        SQL_ID        SQL_TEXT                                                STATUS
--------------- ------------- ------------------------------------------------------- -------------------
BISAL           d9jb07dq0n2ny select /*+ monitor */ count(*) from test                DONE (ALL ROWS)

我们尝试执行过程中ctrl+c强制中断,

代码语言:javascript
复制
SQL> select /*+ monitor */ * from test
ctrl+c,中断执行

此时看到,v$sql_monitor的status显示DONE(FIRST N ROWS),表示这条SQL只是执行了前N行,

代码语言:javascript
复制
SQL> select username, sql_id, sql_text, status from v$sql_monitor where sql_text like '%test%' and sql_text not like '%v$sql_monitor%';
USERNAME        SQL_ID        SQL_TEXT                                                STATUS
--------------- ------------- ------------------------------------------------------- -------------------
BISAL           aysw7ujnub4vr select /*+ monitor */ * from test                       DONE (FIRST N ROWS)
BISAL           d9jb07dq0n2ny select /*+ monitor */ count(*) from test                DONE (ALL ROWS)

因为最近在做数据相关的工作,所以对这些有点儿敏感,同样的词虽然用到了不同的功能,但是表达的含义,还是比较明确,相对比较标准,其实这些,就在潜移默化当中提升了数据质量,让系统的使用更加规范、更易理解。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022/03/03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
应用性能监控
应用性能监控(Application Performance Management,APM)是一款应用性能管理平台,基于实时多语言应用探针全量采集技术,为您提供分布式性能分析和故障自检能力。APM 协助您在复杂的业务系统里快速定位性能问题,降低 MTTR(平均故障恢复时间),实时了解并追踪应用性能,提升用户体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档