DBA 培训相应内容笔记

014-12-23
slow hang lock 三种常见性能问题
hang;整个数据库不响应,无法创建新连接.
hanganalyze输出. dump文件是否有问题信息, 文件是否有其他信息
工具:AWR . 10046, ORADBUG, RDA, SQL TRACE, PL/SQL
 
 
优化器: RBO CBO
CHOOSE FIRST_ROWS ALL_ROWS
ROWID
RECURSIVE CALLS
ROW SOURCE
PREDICATE (WHERE条件)
DRIVING TABLE (驱动表, 通常oracle从左到右. 表数据最少,最为驱动表, 循环嵌套代价少) 被探查表
PROBED TABLE 被探查表
CONCATENATED INDEX 复合索引
SELECTIVITY
 
FULL TABLE SACNS
TABLE ACCESS BY ROWID 对单条数据查找速度最快的方式.
INDEX UNIQUE SACN 索引唯一性扫描. 索引扫描->带出rowid->对表进行存取.
INDEX RANGE SCAN 索引范围扫描.  >= <=. 组合索引只只用部分.非唯一索引扫描.
INDEX FULL SCAN 索引全扫描. 顺序与组合索引相同,则会触发扫描.
INDEX FAST FULL SACN 索引快速扫描, 不会进行排序.
 
表连接
SORT MERGE JOIN 合并排序索引, 耗用内存. 以内存换取时间??
1)非等值连接,效率较高.
2)关联的列上都有索引,效果好.
3)2个较大的row source连接,比NL(嵌套循环)连接要好.
4)sort merge返回的row source过大,会导致过多的rowid在表中查询,过多的IO,性能下降.
 
NESTED LOOPS 循环嵌套连接.
1)DRIVING row source比较小,
2)可以先返回已经连接的行,不必等待所有连接操作都完成才返回数据,可实现快速响应.
 
HASH JOIN 哈希连接.
只能再CBO 基于代价中使用





posted @ 2015-01-14 11:40  hijushen  阅读(411)  评论(0编辑  收藏  举报