OPTIMIZER_INDEX_CACHING和OPTIMIZER_INDEX_COST_ADJ
OPTIMIZER_INDEX_CACHINGPropertyDescriptionParameter typeIntegerDefault value0ModifiableALTER SESSION, ALTER SYSTEMRange of values0 to 100OPTIMIZER_INDEX_CACHING lets you adjust the behavior....
Oracle转换user_tab_columns中high_value值为十进制
今天本想计算下基于范围的索引选择率,但是通过user_tab_columns查询出来low_value和high_value结果是raw类型的,而且我们知道它是截取了后32位,如果我想知道他们代表确切的十进制数将是什么呢?折腾了半天...
嵌套循环成本消耗
这里只考虑io消耗:全表扫描:一次多块读时间和多块读次数;多块读次数由总块数与一次多块读的块数决定单表全表扫描成本:多块读次数*一次多块读时间/单块读时间=(总块数/一次多块读块数) * 一次多块读时间/单块读时...
Oracle 成本计算公式
开始专门从事数据库性能优化快1个月了。从今天开始,我决定要好好学习《Cost-Based Oracle Fundamentals》。加油! 先介绍下成本计算公式,这个公式会影响整个学习过程~ Cost = ( #SRds ...
将主查询条件写到子查询里执行效果会怎样?
--测试环境create table t1 as select object_id,object_name from dba_objects;create table t2 as select object_id,object_name from user_objects;create table t3 as select rownum object_id,table_name o...
join-semi and join-anti
测试环境:SQL> select id,name from t1; ID NAME---------- -------------------- 1 A 2 B 3 4 DSQL> select id,name from t2; ID NAME--...
hash join and hash join semi
测试环境:SQL> select * from t1; ID NAME---------- -------------------- 1 A 2 B 3 4 DSQL> select * from t2; ID NAME---------- -------...
关于INLIST ITERATOR的几个测试
文档说明:When the Optimizer Uses IN-List IteratorsThe optimizer uses an IN-list iterator when an IN clause is specified with values, and the optimizer finds a selective index for that column....
一条语句使用group by前后的变化
drop table test1;drop table test2;create table test1 asselect object_id, object_name from dba_objects;多执行几次insert into test1 select * from test1;select count(1) from test1;--796368create...
runstats工具的配置及使用
runstats是tom写的一个用来比较同一事件的不同方法的工具。今天测试一个语句用group by和不用效率有何不同时,头儿建议用runstats来看。第一次用,很好很强大。1、以sys用户登录,执行下列分配权限语句。要执行runst...
oracle的clustering_factor
CLUSTERING_FACTOR表示表上数据的存储顺序和索引字段的顺序符合的程度,clustering_factor主要影响index range scan1、表中数据的存放顺序按object_id存放,索引也建在object_id列上。预测:因为数据在表中存放...
局部前缀索引和局部非前缀索引
继上篇继续讨论:如果是分区表的局部前缀索引和局部非前缀索引会是什么样的情况呢?SQL> drop table t;Table dropped.SQL> create table t(x int,y int) 2 partition by range(x) 3 (partition...
B*索引,谓词不适用索引前导列的测试
使用一个B*树索引,而且谓词中没有使用索引的最前列。SQL> create table t as select object_id,object_name,object_type from dba_objects;Table created.--在object_id,object_name上建立索引SQL...
Autotrace 用法总结
对一条SQL语句生成执行计划,可以采用的方法有:使用explain plan或者sql Developer按F5或者采用AUTOTRACE。其中AUTOTRACE是一项SQL*Plus功能,自动跟踪为SQL语句生成一个执行计划并且提供与该语句...
绑定变量窥测
绑定变量窥测:物理优化阶段,查询优化器会窥测绑定变量的值,将它作为字面量来使用。这种方法的问题是它生成的执行计划会依赖第一次生成执行计划时所提供的值。测试一:SQL> alter system flush shared_pool;S...
dbms_xplan和他们对应的表或视图
-- display from PLAN_TABLEfunction display(table_name varchar2 default 'PLAN_TABLE', statement_id varchar2 default null, format varchar2 default 'TYPICAL', filter_preds varchar2 default null)...