Oracle 11g/12c 编程优化方法(1)
Jerry Zhao 查看讲师
百林哲咨询(北京)有限公司专家团队成员
20余年软件的设计、开发与管理工作,具有编程的经验与技巧,熟悉大型数库库开发、设计、测试、管理,为甲骨文、海关总署、上海中金所、宁夏地税、苏州郎新、中海油、广东联通、伊利集团、中国邮政等培训和咨询。
浏览:2875次
详情 DETAILS

简介

Oracle 11g/12c 系统性能问题可能是数据量太大导致的,也可能是我们编程时使用SQL语句不当导致的,那么,如何才能避免使用不当呢?下面样例可帮助你理解Oracle 系统SQL的使用方法。

目标

1、Oracle 环境应用程序优化方法

2、Oracle 环境应用系统测试方法

3、Oracle 环境应用系统性能问题诊断与调整方法 

课程时长

2天(12H)

受众人群

基于Oracle环境的软件开发人员;基于Oracle 系统的软件测试人员;Oracle 数据库管理人员;Oracle 数据库最终用户相关人员;Oracle 系统应用维护人员

分享提纲

1、Oracle环境 SQL语句规范与性能

由于编写程序时,SQL语句的书写没有固定的方法和标准,导致应用系统的SQL语句运行效率低下,那么,如何在开发阶段,就对所编写的SQL语句进行规范,是提高应用程序SQL语句运行效率的关键,这里,我们给出了常见的SQL语句规范书写方法详细介绍。

1.1排序优化

1.2简化SQL 

1.3避免SQL语句转换

1.4几个内置函数

1.5避免数据类型转换

1.6其他优化建议 

2、Oracle 系统SQL语句处理流程

当应用系统运行效率低下时,我们就对SQL语句进行诊断,SQL语句的处理流程、SQL语句执行计划是帮助我们分析SQL语句性能问题的关键,这里,我们介绍SQL语句处理流程和执行计划分析方法。

2.1SQL语句优化有关术语

2.2SQL语句处理与相关视图

2.3一个银行业务处理流程

2.4关于SQL语句的执行计划

2.5理解SQL执行过程

2.6操作样例

3、Oracle 11g/12c CBO与提示方法

Oracle 10g版本开始,Oracle 系统优化器采用CBO优化模式,采用CBO模式后,开发人员可对SQL语句采用提示方法来要求优化器的行为,这就是提示方法。

3.1 CBO模式的提示概要

3.2CBO 模式常用提示 

3.3统计数据提示

3.4访问路径提示

3.5表的连接提示

5.6OPTIMIZER_INDEX_COST_ADJ 等参数调整方法

4、Oracle 12c 查询多表的连接方法

当查询语句需要对两个以上表进行查询时,就涉及到表的相关列间连接方法,连接方法是否合理直接导致该SQL语句的效率,这里,我们介绍基于Oracle 12c版本支持的新的连接方法。

4.1SQL 语句与连接入门

4.2样例用户与连接方法

4.3OUTER JOIN方法

4.4Semi/Anti-Joins与性能

4.511g/12c Joins 新变化 

5、Oracle 11g/12c 统计数据与性能

当优化器采用CBO模式时,优化器在产生执行计划前需要访问数据字典以获取表语索引的数据信息,从而制定合理的执行计划。为了确保CBO优化器获取准确的统计数据,维护人员应该及时进行表/索引的统计数据的搜集。

5.1CBO 与统计数据 

5.2列的统计数据/直方图与应用性能 

5.3索引的集群因子与应用性能分析 

5.4如何获取良好的索引集群因子 

5.5Oracle 系统统计数据的搜集 

6、Oracle系统避免锁与锁诊断方法

只要是RDBMS,在处理DML语句时都采用锁机制进行并发控制,Oracle系统中的锁就是避免同一数据被多个会话修改可能产生混乱而设置的机制,在这里,我们介绍Oracle 系统锁概念,以及如何避免不必要的长期锁等,从而降低应用间的等待时间。

6.1关于Oracle系统的锁概念与术语 

6.2不良SQL导致锁问题诊断方法 

6.3复杂问题导致锁的自动数据搜集方法 

6.4锁冲突的诊断脚本与解决方法 

7、Oracle 12c编程优化的其他方法

当开发人员或维护工程师在进行应用的优化时,经常不知道如何下手,其实,我们的本着一种简单的理念是:“把应该做好的事情做好”。因为,你花许多时间去研究某个语句的性能问题,还不如先将那些我们忽视了很久的事情做好,再去攻破那些顽固的问题。这也是一种解决问题的简单方法。

7.1应用性能有关的参数

7.2CBO 模式的参数

7.3会话级参数的修改方法 

7.4分区表与修剪关键 

7.5何时使用Nologging 问题

8、Oracle 11g/12c SQL优化新方法

Oracle系统的每个版本在性能优化技术方面都经常推陈出新,比如Oracle 9i~10g采用固定执行计划方法来优化SQL语句,Oracle 11g版本采用SQL Baselines 方法;而Oracle 12c版本采用新的自适应SQL计划管理 方法。这里,我们详细介绍这几种SQL语句优化方法,使得你能根据你的环境情况进行适当的调整

8.1Oracle 9i~12c 版本SQL优化方法变迁回顾 

8.2Oracle 11g/12c DBMS_SPM 优化方法 

8.3Oracle 12c DBMS_SPD 优化方法

8.4Oracle 12g SQL优化新的变化 


企业服务热线:400-106-2080
电话:18519192882
投诉建议邮箱:venus@bailinzhe.com
合作邮箱:service@bailinzhe.com
总部地址:
北京市-丰台区-汽车博物馆东路6号3号楼1单元902-B73(园区)
全国客户服务中心:
天津市-南开区-桂苑路15号鑫茂集团鑫茂军民园1号楼A座802-803
公众号
百林哲咨询(北京)有限公司 京ICP备2022035414号-1