oracle命令行查看SQL的执行计划
1.定义变量
var d1 varchar2(10)
exec :d1:='20091001'
2.打开执行计划开关
set autotrace traceonly explain
3.绑定变量到SQL中,并执行SQL
select count(c.storageplatformid) from ispace_content_info c where c.storageplatformid <> '58' and c.storageplatformid <>'62' and c.contentid in( select t.contentid from ispace_flv_content t where t.flv_state<>3 and t.uploadtime < to_date(:"d1",'YYYY-MM-dd'));
4.查看结果
Execution Plan
----------------------------------------------------------
Plan hash value: 2058968918
--------------------------------------------------------------------------------
-------------------------
| Id | Operation | Name | Rows | Bytes
| Cost (%CPU)| Time |
--------------------------------------------------------------------------------
-------------------------
| 0 | SELECT STATEMENT | | 1 | 83
| 3 (0)| 00:00:01 |
| 1 | SORT AGGREGATE | | 1 | 83
| | |
| 2 | NESTED LOOPS | | |
| | |
| 3 | NESTED LOOPS | | 1 | 83
| 3 (0)| 00:00:01 |
| 4 | TABLE ACCESS BY INDEX ROWID| ISPACE_FLV_CONTENT | 1 | 44
| 2 (0)| 00:00:01 |
|* 5 | INDEX RANGE SCAN | IX_ISPACE_FLV_CONTENT | 1 |
| 1 (0)| 00:00:01 |
|* 6 | INDEX UNIQUE SCAN | PK_ISPACE_CONTENT_INFO | 1 |
| 0 (0)| 00:00:01 |
|* 7 | TABLE ACCESS BY INDEX ROWID | ISPACE_CONTENT_INFO | 1 | 39
| 1 (0)| 00:00:01 |
--------------------------------------------------------------------------------
-------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
5 - access("T"."UPLOADTIME"<TO_DATE(:d1,'YYYY-MM-dd'))
filter("T"."FLV_STATE"<>3)
6 - access("C"."CONTENTID"="T"."CONTENTID")
7 - filter("C"."STORAGEPLATFORMID"<>'58' AND "C"."STORAGEPLATFORMID"<>'62')
----------
查看数据表的索引,大写表名
select p.index_name,p.column_name from user_ind_columns p where p.table_name='ISPACE_MESSAGE_INFO';
----------
给SQL加提示,使用强制索引,注意提示的格式.
select /*+ INDEX(ISPACE_MESSAGE_INFO IX_ISPACE_MSG_PID) */ count(MSGID) from ISPACE_MESSAGE_INFO where PARENTCATALOGID in (select * from table (cast( in_list(#parentCatalogIDs#) as cid_type)))
分享到:
相关推荐
在Oracle数据库管理中,了解查询的实际执行计划...总之,Oracle命令行查看实际执行计划是数据库管理员和开发人员日常工作中不可或缺的一部分,它能提供关于查询性能的宝贵见解,并指导如何改进SQL以提升系统整体性能。
Oracle使用命令行批量执行带参数及用户名是变量的SQL文件 因为数据存在不同的Oracle数据库中,DDL是相同的,处理逻辑也是相同...使用Oracle命令行的方式,批量执行Oracle不同用户下的sql文件,where条件带变量的操作。
在这个场景中,我们可以利用批处理文件来简化Oracle数据库的操作,如删除用户、创建用户、创建表和触发器,以及执行其他SQL语句。 首先,我们需要了解如何在批处理文件中连接Oracle数据库。这通常通过Oracle的...
在Linux环境下,对Oracle数据库进行批量操作是一项常见的任务,尤其对于系统管理员和DBA来说,高效地执行SQL脚本可以显著提升工作效率。本篇将详细讲解如何利用shell脚本来批量执行Oracle数据库脚本,以及涉及的相关...
### Oracle查看SQL执行计划与SQL性能分析 #### 一、引言 在数据库管理与优化领域,SQL执行计划是评估查询效率的关键因素之一。通过理解并优化SQL执行计划,可以显著提升应用程序的性能。本文将详细介绍如何在...
20. **sqlplus.exe**:命令行的sqlplus,是Oracle数据库的标准命令行工具,用于执行SQL语句和脚本。这对于日常管理和查询数据库非常有用。 21. **svrmgrl.exe**:Oracle实例管理工具,用于管理Oracle实例。这对于...
// ※只会执行sql文 不会自动删除表内数据 // oracleStup.bat // 命令行 用户名/密码 @库名 不需要修改 sqlplus C3/AISIN@C3 @sqlFile.sql > execute.log // sqlFile.sql // @@需要处理的sql文路径 @@D:/20150922...
SQL*Plus是Oracle提供的命令行工具,用于交互式查询和执行SQL脚本。要实现批量执行,可以创建一个主SQL脚本(如`run_all.sql`),在这个脚本中,你可以通过嵌套`@`命令来调用其他SQL文件,同时传递参数。例如: `...
SQL Plus 是 Oracle 提供的一个命令行工具,允许用户执行 SQL 语句和 PL/SQL 程序。使用 SQL Plus,可以快速执行 SQL 脚本文件,从而提高工作效率。 执行 SQL 脚本文件的命令格式为:sql>@file_name,其中 file_...
本文详细介绍了如何使用 Oracle SQL Developer 和其他开发工具,包括 Oracle Database Home Page 的使用方法、如何在 Oracle 中使用 SQL*Plus、如何使用 SQL Developer 操作 Oracle 数据库以及如何执行 SQL 语句等...
通过命令行可以执行创建、修改和删除表空间的操作: 1. **创建表空间**: - `create tablespace t1 datafile 'D:\t1.dbf' size 2M autoallocate`:创建名为 t1 的表空间,并指定其数据文件位置和初始大小,同时...
首先,Oracle提供了一种名为SQL*Plus的命令行工具,它是与Oracle数据库交互的主要接口之一,非常适合进行批处理操作。在SQL*Plus中,你可以编写一个批处理脚本(通常为.bat或.sh文件),通过该脚本调用并执行多个....
Oracle提供了SQL*Plus,一个命令行工具,可以用于执行SQL语句和PL/SQL块。要批量执行SQL脚本,只需在命令行输入以下命令: ``` sqlplus /nolog connect 用户名/密码@数据库连接字符串 @脚本文件路径 quit; ``` 例如...
1. **启动 SQL*Plus 并登录**:通过命令行方式启动 SQL*Plus,并以管理员身份登录,如:`sqlplus sys/sys as sysdba`。 2. **禁用全局名称检查**:执行以下命令以禁用全局名称检查,防止后续操作时出现不必要的...
- 执行"scott.sql"脚本,通常是通过命令行工具或图形界面工具完成的。命令行下,你可以输入`@路径\to\scott.sql`来执行脚本。 - 脚本执行完成后,SCOTT用户及其相关表应已创建。此时,你可以用`ALTER USER scott ...
SQL是一种声明式的数据库查询语言,用于与数据库交互,而SQL*PLUS是Oracle提供的一种命令行工具,用于执行SQL和PL/SQL语句。PL/SQL是Oracle特有的过程化编程语言,允许开发人员编写复杂的存储过程和触发器。 ### ...
可以通过命令行工具`lsnrctl`来执行此操作,例如: ```bash # 重新加载监听配置 lsnrctl reload # 或者重启监听 lsnrctl stop lsnrctl start ``` 此外,确保Oracle数据库服务本身也在运行,因为即使监听程序工作...
这些工具包括SQL*Plus,一个命令行工具,用于执行SQL查询、PL/SQL过程和数据库管理任务;Net Configuration Assistant,用于配置网络连接;以及Oracle SQL Developer,一个图形化的数据库管理和开发工具。客户端还...
1. **定义**:SQL*Plus 是 Oracle 提供的一种命令行工具,用于执行 SQL 和 PL/SQL 语句,并查看结果。 2. **功能**: - 执行 SQL 和 PL/SQL 语句。 - 查看查询结果。 - 管理数据库会话。 - 自定义输出格式。 3....
- **iSQL*Plus**:作为Oracle官方的命令行工具,iSQL*Plus被广泛用于执行SQL语句、查看结果集、格式化输出等,本书提供了详细的使用指导。 - **PL/SQL**:虽然本书主要关注SQL语言,但简要介绍了PL/SQL——Oracle...