ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 笔记---07

笔记---07

原创 Linux操作系统 作者:tom_xieym 时间:2011-06-20 11:40:08 0 删除 编辑

1. oralce优化器
rule—RBO,基于规则的优化器
choose—根据实际情况,如果数据字典中包含被引用的表的统计数据,即引用的对象已经被分析,则就使用CBO优化器,否则为RBO优化器。
ALL_rows—为CBO优化器使用的第一种具体的优化方式,是以数据的吞吐量为主要目标,使用最少的资源完成语句。
FIRST_ROWS--为CBO优化器使用的二种具体的优化方式,是以数据的响应时间为主要目标,以便快速查询出开始的几行数据。
FIRST_ROWS_【1|10|100|1000】--为CBO优化器使用的三种具体的优化方式,是以数据的响应时间减到最小的执行计划,以便快速查询出开始n行数据。
从ORACLE V7以来,optimizer_mode参数的缺省设置应是‘choose’,即如果对已分析的表查询的话选择CBO,否则选择RBO。在此种设置下,如果采用了CBO,则缺省为CBO的all_rows模式。

2.影响执行计划—可以hints来实现改变
1. 使用的优化器的类型
2. 基于代价的优化器的优化目标,是all_rows还是first_rows
3. 表的访问路径,是全表扫描,还是索引扫描,还是直接利用rowid
4. 表之间的连接类型
5. 表之间的连接顺序
6. 语句的并行程度
采用最右最上最先执行的原则看层次关系,在同一级如果某个动作没有子ID就最先执行

3. (16) 识别'低效执行'的SQL 语句:
虽然目前各种关于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;

4. (1) Anylyze执行之后查询信息的字典:
DBA_TABLES and DBA_TAB_COLUMNS table storage within extents and blocks
DBA_HISTOGRAMS and INDEX_HISTOGRAM data about nonindexed and indexed column data distribution.
DBA_INDEXES and INDEX_STATS data about index within extents and blocks and indexation usefulness.

5. V$视图和DBA_视图
区别:
1. V$视图通常是单数,DBA视图通常是复数,例如V$DATAFILE与DBA_DATA_FILES;
2. 当数据库处于Nomout或者Mount时,许多V$视图已经是可用的,而DBA视图必须在数据库处于Open时才可用;
3. V$视图查询出来的数据多小写,DBA视图查询出的数据通常大写,所以在写WHERE条件时需特别小心;
4. V$视图中包含的是自实例启动以来的动态数据,在数据库关闭后会消失,查询V$视图时必须关注时效性,DBA视图中包含的是静态数据;
5. V$视图的基表是X$表,X$表是存在于内存中的虚表,DBA视图的基表是数据字典表,如SYS.OBJ$, SYS.FILE$等,这两种基表都很少有文档。

最常用的V$视图:
表名 描述
V$SGASTAT 显示SGA组件大小的信息
V$EVENT_NAME 显示当前版本的所有等待事件
V$SYSTEM_EVENT 自实例启动已来的等待事件
V$SESSION_EVENT 目前连接会话的等待事件
V$SESSION_WAIT 目前连接会话正在发生的等待事件
V$STATNAME 显示当前版本的所有统计名称
V$SYSSTAT 自实例启动以来的统计
V$SESSTAT 目前连接会话的统计
V$SESSION 目前连接会话的信息
V$WAITSTAT 块竞争的统计

最常用的DBA视图(有些栏位的值需要分析表或索引后才会有值):
表名 描述
DBA_TABLES 表的存储,统计等
DBA_INDEXES 索引的存储,统计等
INDEX_STATS 索引的深度和键值的离散度等
DBA_DATA_FILES 数据文件的命名,位置,大小
DBA_SEGMENTS 段的相关信息
DBA_HISTOGRAMS 表,索引的柱状图定义信息

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25850100/viewspace-700256/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2011-05-20

  • 博文量
    77
  • 访问量
    98300