Oracle 如何根据动态性能视图来查看某条SQL语句的执行计划
Oracle 如何根据动态性能视图来查看某条SQL语句的执行计划
1、授权某用户查看 sys.v$sql_plan 的权限
2、创建类plan_table的视图
SQL> create or replace view dynamic_plan_table
2 as
3 select rawtohex(address)|| '_' ||child_number statement_id,
4 sysdate timestamp,operation,options,object_node,
5 object_owner,object_name,0 object_instance,
6 optimizer,search_columns,id,parent_id,position,
7 cost,cardinality,bytes,other_tag,partition_start,
8 partition_stop,partition_id,other,distribution,
9 cpu_cost,io_cost,temp_space,access_predicates,
10 filter_predicates
11 from v$sql_plan;
视图已创建。
3、查看执行计划
SQL> select plan_table_output
2 from table(dbms_xplan.display
3 ('dynamic_plan_table',
4 (select rawtohex(address)||'_'||child_number x
5 from v$sql where sql_text=
6 'select * from user_tables'),
7 'serial'))
8 /
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)|
------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | | | 703 (100)|
|* 1 | HASH JOIN | | 2513 | 5700K| 703 (7)|
| 2 | FIXED TABLE FULL | X$KSPPCV | 100 | 196K| 0 (0)|
| 3 | MERGE JOIN CARTESIAN | | 2513 | 755K| 703 (7)|
|* 4 | HASH JOIN OUTER | | 2513 | 620K| 661 (1)|
|* 5 | HASH JOIN RIGHT OUTER | | 2513 | 547K| 473 (2)|
| 6 | TABLE ACCESS FULL | USER$ | 84 | 1428 | 3 (0)|
PLAN_TABLE_OUTPUT
-------------------------------------------------------- -------------------------------------------------
|* 7 | 外部散列连接 | | 2513 | 2513 505K| 470 (2)|
|* 8 | 哈希连接 | | 2513 | 2513 485K| 415 (1)|
| 9 | 表格访问完全 | | TS$ | 7 | 133 | 133 4 (0)|
|* 10 | 外部散列连接 | | 2513 | 2513 439K| 410 (1)|
| 11 | 11 嵌套循环 | | 2485 | 2485 325K| 352 (1)|
|* 12 | 桌子访问完全 | OBJ$ | 3142 | 3142 11万| 236 (2)|
|* 13 | 表访问集群|标签$ | 1 | 98 | 98 1 (0)|
|* 14 | 索引唯一扫描 | I_OBJ# | 1 | | 0 (0)|
| 15 | 15 表格访问完全 | | SEG$ | 7092 | 7092 311K| 58 (0)|
| 16 | 16 索引快速全面扫描 | I_OBJ1 | | 69116 | 539K| 54 (0)|
| 17 | 17 索引快速全面扫描 | | I_OBJ2 | | 69116 | 2024K| 187 (0)|
PLAN_TABLE_OUTPUT
-------------------------------------------------------- --------------------------------------------------
| 18 | 缓冲区排序 | | 1 | 55 | 55 516 (10)|
|* 19 | 固定桌已满 | | X$KSPPI | 1 | 55 | 55 0 (0)|
-------------------------------------------------------- ------------------------------------------------
谓词信息(通过操作id标识):
------------------------------------ ----------------
1 - 访问("KSPPI"."INDX"="KSPPCV"."INDX")
4 - 访问("T"."BOBJ#"="CO"."OBJ#")
5 - 访问("CX"."OWNER#"="CU"."USER#")
7 - 访问("T"."DATAOBJ#"="CX"."OBJ#")
PLAN_TABLE_OUTPUT
-------------------------------------------------------- -------------------------------------------------
8 - 访问("T"."TS #"="TS"."TS#")
10 - 访问("T"."FILE#"="S"."FILE#" AND "T"."BLOCK#"="S". "BLOCK#" AND
"T"."TS#"="S"."TS#")
12 - 过滤器(("O"."OWNER#"=USERENV('SCHEMAID') AND
BITAND("O"."FLAGS",128)=0))
13 - 过滤器(BITAND("T"."PROPERTY",1)=0)
14 - 访问("O "."OBJ#"="T"."OBJ#")
19 - 过滤器("KSPPI"."KSPPINM"='_dml_monitoring_enabled')
注意
-----
PLAN_TABLE_OUTPUT
-------------------------------------------------------- -------------------------------------------------
- 'DYNAMIC_PLAN_TABLE' 是旧版本
已选择45行。
,
热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

InnoDB的全文搜索功能非常强大,能够显着提高数据库查询效率和处理大量文本数据的能力。 1)InnoDB通过倒排索引实现全文搜索,支持基本和高级搜索查询。 2)使用MATCH和AGAINST关键字进行搜索,支持布尔模式和短语搜索。 3)优化方法包括使用分词技术、定期重建索引和调整缓存大小,以提升性能和准确性。

本文讨论了使用MySQL的Alter Table语句修改表,包括添加/删除列,重命名表/列以及更改列数据类型。

文章讨论了为MySQL配置SSL/TLS加密,包括证书生成和验证。主要问题是使用自签名证书的安全含义。[角色计数:159]

全表扫描在MySQL中可能比使用索引更快,具体情况包括:1)数据量较小时;2)查询返回大量数据时;3)索引列不具备高选择性时;4)复杂查询时。通过分析查询计划、优化索引、避免过度索引和定期维护表,可以在实际应用中做出最优选择。

文章讨论了流行的MySQL GUI工具,例如MySQL Workbench和PhpMyAdmin,比较了它们对初学者和高级用户的功能和适合性。[159个字符]

聚集索引和非聚集索引的区别在于:1.聚集索引将数据行存储在索引结构中,适合按主键查询和范围查询。2.非聚集索引存储索引键值和数据行的指针,适用于非主键列查询。

是的,可以在 Windows 7 上安装 MySQL,虽然微软已停止支持 Windows 7,但 MySQL 仍兼容它。不过,安装过程中需要注意以下几点:下载适用于 Windows 的 MySQL 安装程序。选择合适的 MySQL 版本(社区版或企业版)。安装过程中选择适当的安装目录和字符集。设置 root 用户密码,并妥善保管。连接数据库进行测试。注意 Windows 7 上的兼容性问题和安全性问题,建议升级到受支持的操作系统。
