V$SQL中存储具体的SQL语句。
一条语句可以映射多个cursor,因为对象所指的cursor可以有不同用户(如例1)。如果有多个cursor(子游标)存在,在V$SQLAREA为所有cursor提供集合信息。
例1:
这里介绍以下child cursor
user A: select * from tbl
user B: select * from tbl
大家认为这两条语句是不是一样的啊,可能会有很多人会说是一样的,但我告诉你不一定,那为什么呢?
这个tblA看起来是一样的,但是不一定哦,一个是A用户的, 一个是B用户的,这时他们的执行计划分析代码差别可能就大了哦,改下写法大家就明白了:
select * from A.tbl
select * from B.tbl
在个别cursor上,v$sql可被使用。该视图包含cursor级别资料。当试图定位session或用户以分析cursor时被使用。
PLAN_HASH_VALUE列存储的是数值表示的cursor执行计划。可被用来对比执行计划。PLAN_HASH_VALUE让你不必一行一行对比即可轻松鉴别两条执行计划是否相同。
V$SQL中的列说明:
SQL_TEXT:SQL文本的前1000个字符
SHARABLE_MEM:占用的共享内存大小(单位:byte)
PERSISTENT_MEM:生命期内的固定内存大小(单位:byte)
RUNTIME_MEM:执行期内的固定内存大小
SORTS:完成的排序数
LOADED_VERSIONS:显示上下文堆是否载入,1是0否
OPEN_VERSIONS:显示子游标是否被锁,1是0否
USERS_OPENING:执行语句的用户数
FETCHES:SQL语句的fetch数。
EXECUTIONS:自它被载入缓存库后的执行次数
USERS_EXECUTING:执行语句的用户数
LOADS:对象被载入过的次数
FIRST_LOAD_TIME:初次载入时间
INVALIDATIONS:无效的次数
PARSE_CALLS:解析调用次数
DISK_READS:读磁盘次数
BUFFER_GETS:读缓存区次数
ROWS_PROCESSED:解析SQL语句返回的总列数
COMMAND_TYPE:命令类型代号
OPTIMIZER_MODE:SQL语句的优化器模型
OPTIMIZER_COST:优化器给出的本次查询成本
PARSING_USER_ID:第一个解析的用户ID
PARSING_SCHEMA_ID:第一个解析的计划ID
KEPT_VERSIONS:指出是否当前子游标被使用DBMS_SHARED_POOL包标记为常驻内存
ADDRESS:当前游标父句柄地址
TYPE_CHK_HEAP:当前堆类型检查说明
HASH_VALUE:缓存库中父语句的Hash值
PLAN_HASH_VALUE:数值表示的执行计划。
CHILD_NUMBER:子游标数量
MODULE:在第一次解析这条语句是通过调用DBMS_APPLICATION_INFO.SET_MODULE设置的模块名称。
ACTION:在第一次解析这条语句是通过调用DBMS_APPLICATION_INFO.SET_ACTION设置的动作名称。
SERIALIZABLE_ABORTS:事务未能序列化次数
OUTLINE_CATEGORY:如果outline在解释cursor期间被应用,那么本列将显示出outline各类,否则本列为空
CPU_TIME:解析/执行/取得等CPU使用时间(单位,毫秒)
ELAPSED_TIME:解析/执行/取得等消耗时间(单位,毫秒)
OUTLINE_SID:outline session标识
CHILD_ADDRESS:子游标地址
SQLTYPE:指出当前语句使用的SQL语言版本
REMOTE:指出是否游标是一个远程映象(Y/N)
OBJECT_STATUS:对象状态(VALID or INVALID)
IS_OBSOLETE:当子游标的数量太多的时候,指出游标是否被废弃(Y/N)
分享到:
相关推荐
【学习动态性能表(11)--v$latch$v$latch_children】主要关注Oracle数据库中的动态性能视图,尤其是关于latch这一关键概念的监控和分析。latch是一种轻量级的锁定机制,用于保护SGA(System Global Area)中的共享...
### 学习动态性能表(一)--v$sysstat #### 概述 在Oracle数据库管理系统中,`v$sysstat`是一个非常重要的动态性能视图。它提供了自数据库实例启动以来,整个实例范围内(instance-wide)的资源使用统计信息。通过`v...
学习动态性能表 第一篇--v$sysstat 2007.5.23 按照OracleDocument中的描述,v$sysstat存储自数据库实例运行那刻起就开始累计全实例(instance-wide)的资源使用情况。 类似于v$sesstat,该视图存储下列的统计信息...
### 动态性能视图详解 #### 一、概述 动态性能视图是Oracle数据库管理系统中用于监控系统性能的关键工具之一。这些视图通常被标记为V$视图,并且只对具有特定权限的用户(如系统管理员)开放。通过查询这些视图,...
第3章 关系模型 3.1 关系模型简介 3.1.1 关系、元组和类型 3.1.2 关系模型:快速摘要 3.2 关系代数和关系计算 3.2.1 基本运算符 3.2.2 关系代数 3.2.3 Codd提出的8个原始关系运算符 3.2.4 关系演算 T-SQL...
通过深入学习上述知识,并结合提供的书籍《Oracle高性能SQL调整》、《sql性能的调整-总结》和《SQL调优》,你可以构建起一套全面的Oracle SQL调优体系,从而提升数据库的运行效率和整体性能。记住,SQL调优不仅仅是...
3. 使用 V$SQLAREA 视图查找排序多的 SQL。可以使用以下 SQL 语句查找排序多的 SQL: ``` select sql_text, sorts from ( select sql_text, sorts from v$sqlarea order by sorts desc ) where rownum; ``` 4. ...
- 第一条SQL查询用于计算每个表空间的自由空间总量。 - 第二条SQL查询提供了更详细的统计信息,包括总的、已用的和剩余的空间。 - 使用`GROUP BY`对结果按表空间进行分组。 #### 七、查看数据库库对象 此查询统计了...
总结来说,SQL Server Management Studio V18.8是一个强大的数据库管理工具,特别是对于SQL脚本编写有着显著的辅助作用,配合如SQL Prompt这样的第三方插件,可以进一步提升开发和管理的效率。无论是数据库管理员...
在Oracle数据库10g R2版本中,动态性能视图(V$ Views)扮演着至关重要的角色,为数据库管理员提供了一种实时监控和诊断数据库运行状况的手段。这些视图作为数据字典视图的补充,存储在系统全局区(SGA)中,提供了...
- 动态性能视图通过运行`CATALOG.SQL`脚本来创建,该脚本包含视图的定义和公用同义词。 #### V$ 视图 (V$_Views) **定义:** - **V$视图**是动态性能视图的通用形式,由`V_$`标识,而`V$`则代表了这些视图的公共...
- **执行计划分析**:通过EXPLAIN PLAN或V$SQLAREA等视图分析SQL执行路径,找出性能瓶颈。 - **绑定变量**:使用绑定变量可以减少硬解析,提高SQL执行效率。 3. **Oracle缓存与缓冲区管理** - **Buffer Cache**...
- **`v$sql`**:这是一个动态性能视图,包含了最近执行过的SQL语句信息。 - **`username`**:表示执行SQL语句的用户名。 - **`sid`**:表示会话ID。 - **`opname`**:表示正在进行的操作名称。 - **`progress`**:...
《Microsoft SQL Server 2008技术内幕:T-SQL查询》全面深入地介绍了Microsoft SQL Server 2008中高级T-SQL查询、性能优化等方面的内容,以及SQL Server 2008新增加的一些特性。主要内容包括SQL的基础理论、查询优化...
- 使用第三方工具如SQL Profiler,监控并分析SQL性能。 - 利用性能监控工具如Grafana、Prometheus进行系统级别的性能监控。 以上就是对"sql性能的调整-总结"的详细解读,涵盖了从索引优化到源码调整的多个层面,...
在FROM后面的表中的列表顺序会对SQL执行性能影响,在没有索引及ORACLE没有对表进行统计分析的情况下ORACLE会按表出现的顺序进行链接,由此因为表的顺序不对会产生十分耗服务器资源的数据交叉。(注:如果对表进行...
### ORACLE动态性能视图详解 #### 一、概述 Oracle数据库系统中包含了大量用于监控和管理系统性能的工具,其中动态性能视图是一类非常重要的工具。这些视图由Oracle服务器自动维护,并且只能被系统管理员用户SYS...
- `v$rollstat` 动态性能视图提供了当前活动回滚段的统计信息。 - `segment_name` 和 `tablespace_name` 分别代表回滚段的名称和所在的表空间。 - `initial_extent` 和 `next_extent` 分别表示回滚段的初始分配大小...