随笔分类 - Oracle学习笔记
摘要:返回行与逻辑读比率: /* 一般而言,每获取一行开销5个以下的逻辑读是属于基本比较满意的。 例1用statitics_level=all获取执行计划的方式,发现获取1条记录(A-ROWS),产生1048次逻辑读(Buffers),可疑! 例2改用autotrace 获取执行计划,发现获取1条记录(1
阅读全文
摘要:获取执行计划的方法: 统计信息: /* 1. 11g默认启动了统计信息收集的任务,默认运行时间是周一到周五晚上10点和周6,周天的早上6点 2. 你也可以关闭自动统计新收集任务,选择手工收集的方式,但是一般不建议这样操作。 */ select window_name, window_next_tim
阅读全文
摘要:Nested Loops Join 请确保用在局部扫描的OLTP场景: 驱动表的限制条件有索引 /* 结论: Nested Loops Join连接优化,驱动表的限制条件有索引! */ --环境构造 --研究Nested Loops Join访问次数前准备工作 DROP TABLE t1 CASCA
阅读全文
摘要:select parent_id,F_id,F_name,level from risk_ver where level=2 start with parent_id='0' connect by prior f_id=parent_id order siblings by f_id
阅读全文
摘要:三大表连接: 1.Nested Loops Join (偏局部扫描的OLTP应用) 2.Hash Join 3.Merge Sort Join 和 Hash Join 偏OLAP应用 表的访问次数之NL连接研究 /* 结论: NL连接中,驱动表被访问0或者1次,被驱动表被访问0次或者N次,N由驱动表
阅读全文
摘要:哪些表的索引个数过多: prompt <p>当前用户下,哪些表的索引个数字超过5个的 select table_name, count(*) cnt from user_indexes group by table_name having count(*) >= 5 order by cnt des
阅读全文
摘要:索引访问开销_设置索引并行属性引风波 /* 为了提高建索引的效率,采用了并行的方式,并且设到了索引的属性中去了,引发了性能故障。 一般来说,如果我们要做并行的操作,建议用HINT的方式给查询语句加索引,比如/*+parallel n*/ */ drop table t purge; create t
阅读全文
摘要:INDEX RANGE SCAN:索引范围查询 drop table t purge; create table t as select * from dba_objects; update t set object_id=rownum; commit; create index idx_objec
阅读全文
摘要:1.适用在单独查询返回很多,组合查询返回很少。 2.组合查询的组合顺序,要全面考虑单列查询情况 3.仅等值无范围查询时,组合索引顺序不影响性能 4.组合索引最佳顺序一般是将列等值查询的列置前。 5.注意组合索引与组合条件中关于IN 的优化 组合索引经要素! /* 1.适用在单独查询返回记录很多,组合
阅读全文
摘要:索引的结构图: 索引查询示例图: 索引的特性: 1.索引高度比较低. 索引特性之高度较低的验证体会 drop table t1 purge; drop table t2 purge; drop table t3 purge; drop table t4 purge; drop table t5 pu
阅读全文
摘要:此处只说索引失效的场景(只会影响全局索引): 结论:全局索引truncate 分区和交换分区都会导致索引失效果 局部索引truncate分区不会导致索引失效。 drop table part_tab_trunc purge; create table part_tab_trunc (id int,c
阅读全文
摘要:全局临时表自动处理数据: drop table ljb_tmp_session; create global temporary table ljb_tmp_session on commit preserve rows as select * from dba_objects where 1=2;
阅读全文
摘要:range单字段分区: -- 范围分区示例 drop table range_part_tab purge; --注意,此分区为范围分区 --例子1 create table range_part_tab (id number,deal_date date,area_code number,nbr
阅读全文
摘要:create or replace function blob_to_varchar(tempblob in Blob) return varchar2 is l_amount BINARY_INTEGER := 800; l_offset INTEGER := 1; l_buffer RAW(32
阅读全文
摘要:Oralce行定位与rowid: drop table t purge; create table t as select * from dba_objects; create index idx_object_id on t(object_id); set linesize 1000 set au
阅读全文
摘要:逻辑体系结构与Data file 逻辑体系结构关系图 逻辑体系结构最小单位BLOCK的研究 block能装多少行数据: drop table test_block_num purge; create table test_block_num (id varchar2(1)); begin for i
阅读全文
摘要:如何查询硬解析问题: 绑定变量的不适合场景: sql的逻辑读变零: 函数的逻辑读变成零: keep让sql跑的更快: 查看系统各维度规律: 找到提交过频繁的语句: 日志归档相关案例:
阅读全文
摘要:Oracle中的体系结构: oracle体系结构中的进程: 共享池相关的优化: 绑定变量带来的性能飞跃: 硬解析次数和执行次数: 执行语句: --通过如下命令可以查出生成的trc文件 生成报表: 静态sql自动绑定变量: 参数对Sql性能的影响: 批量提交与否性能差异: 日志关闭与否对性能的影响:
阅读全文
摘要:索引: 生产库中一般没有索引,查询库中有大量的索引,生产库要执行插入操作。 分区效率变低: 无索引: 物化视图:(用空间换取时间) 提高sql的运行速度: 未优化: 一:绑定变量 二:动态sql 改成静态sql(涉及到的表名和列明不存在,考虑使用动态sql) 三:批量提交 四:集合写法 五:直接路劲
阅读全文