Oracle中的hint
Oracle中的hint 概述 基于代价的优化器是很聪明的,在绝大多数情况下它会选择正确的优化器,减轻了DBA的负担。但有时它也聪明反被聪明误,选择了很差的执行计划,使某个语句的执行变得奇慢无比。 此时就需要DBA进行人为的干预,告诉优化器使用我们指定的...
HINT篇---优化器相关
一:和优化器相关的hint 1、/*+ ALL_ROWS */ 表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化.2、/*+ FIRST_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳响应时间,使资源消耗最小化.3、/*+ RULE*/ 表明对语句块选择基于规则的优化方法.详解:对于optimizer_mode...
Oracle统计信息(2)
统计信息的常用的脚本DBMS_STATS.GATHER_TABLE_STATS参数dbms_stats.gather_table_stats(owner VARCHAR2,tablename VARCHAR2,partname VARCHAR2,estimate_percent NUMBER,block_sample BOOLEAN,method_opt VARCHAR2,degree NUMBER,granularity VARCHAR2,cascade BOOLEAN,stattab VARCHAR2,statid VA...
Oracle统计信息(1)
统计信息统计信息概述 统计信息主要是描述数据库中表,索引的大小,规模,数据分布状况等的一类信息。比如,表的行数,块数,平均每行的大小,索引的leaf blocks,索引字段的行数,不同值的大小等,都属于统计信息。CBO正是根据这些统计信息数据,计算出不同访问路径下,不同join...
Oracle集群因子
集群因子 1. 概念 集群因子(ClusteringFactor)是如果通过一个索引扫描一张表,需要访问的表的数据块的数量。衡量通过索引扫描,通过ROWID 回表的时候,物理读有多大。集群因子是索引与它所基于的表相比较而得出的有序性度量,它用于检查在索引访问之后执行的表查找的成本(将集群因子与选...
Oracle的直方图
直方图1、概述 当某列数据分布不均衡,为了让CBO能生成最佳的执行计划,我们可能需要对表收集直方图,直方图最大的桶数(Bucket)是254。收集直方图是一个很耗时的过程,如无必要,千万别去收集直方图。 OLTP系统中没有必要千万不要去收集直方图,因为OLTP一般会用...
Oracle的基数与选择性
基数 一个列中唯一键(Distinct_keys)的个数,如有一个100W行的表,性别列的基数为2 (select distinct gender from test),主键列的基数为100W(select distinct mid from test);选择性 基数/总行数所占的百分比,性别 2/100w * 100% 主键 100% 选择性越高 越有利于...