Oracle Sql学习记录二
来源:互联网 发布:图像分割算法有哪些 编辑:程序博客网 时间:2024/05/17 22:39
识别低效率Sql的集中方式:
1.用下列SQL 工具找出低效SQL:
SELECT EXECUTIONS , DISK_READS, BUFFER_GETS,
ROUND((BUFFER_GETS-DISK_READS)/BUFFER_GETS,2) Hit_radio,
ROUND(DISK_READS/EXECUTIONS,2) Reads_per_run,SQL_TEXT
FROM V$SQLAREA
WHERE EXECUTIONS>0
AND BUFFER_GETS > 0
AND (BUFFER_GETS-DISK_READS)/BUFFER_GETS < 0.8
ORDER BY 4 DESC;
2.用 EXPLAIN PLAN 分析SQL 语句
举例:SQLPLUS 中的SET TRACE 功能
SQL> list
1 SELECT *
2 FROM dept, emp
3* WHERE emp.deptno = dept.deptno
SQL> set autotrace traceonly /*traceonly 可以不显示执行结果*/
SQL> /
14 rows selected.
Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=CHOOSE
1 0 NESTED LOOPS
2 1 TABLE ACCESS (FULL) OF 'EMP'
3 1 TABLE ACCESS (BY INDEX ROWID) OF 'DEPT'
4 3 INDEX (UNIQUE SCAN) OF 'PK_DEPT' (UNIQUE)
Statistics
----------------------------------------------------------
0 recursive calls
2 db block gets
30 consistent gets
0 physical reads
0 redo size
2598 bytes sent via SQL*Net to client
503 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
14 rows processed
通过以上分析,可以得出实际的执行步骤是:
1. TABLE ACCESS (FULL) OF 'EMP'
2. INDEX (UNIQUE SCAN) OF 'PK_DEPT' (UNIQUE)
3. TABLE ACCESS (BY INDEX ROWID) OF 'DEPT'
4. NESTED LOOPS (JOINING 1 AND 3)
- Oracle Sql学习记录二
- oracle sql 学习记录
- oracle sql 学习记录
- ORACLE PL/SQL 记录(Record)学习笔记(二)
- Oracle学习记录二——SQL基础
- oracle sql学习二
- oracle学习记录之二
- oracle学习记录之二十
- Oracle sql的优化学习记录一
- Oracle学习笔记之二----SQL
- Oracle学习笔记二:SQL*PLUS基础
- ORACLE PL/SQL 集合学习笔记(二)
- oracle PL-SQL学习案例(二)
- Oracle学习笔记二-Sql*Plus常用命令
- Oracle PL/SQL 学习笔记(二)
- 学习记录之--SQL Server 数据库学习笔记(二)
- oracle 备份记录二
- Oracle查询sql记录
- 求逆序数之分治排序
- 小波变换网文精粹:小波变换教程(二十)
- 文档
- 单例模式 Singleton模式
- Oracle Clob字段保存时提示字符串过长
- Oracle Sql学习记录二
- 维护注册表
- (续)JAVA应用技术之编码规范(Eclipse checkstyle plugin)
- VSTO简介及发展
- C语言笔记2
- 浏览器的定制与扩展
- TDD应用试例(根据领域驱动模型设计的培训内容)
- 画虚拟矩形框(适合静态的)
- RegCleanPro (微软认证-注册表清理软件)