下载此文档

oracle数据库sql调优.doc


文档分类:IT计算机 | 页数:约7页 举报非法文档有奖
1/7
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/7 下载此文档
文档列表 文档介绍
Oracle数据库性能优化
(SQL调优篇)
引言
对于数据库系统来说,优化是一件非常重要而且烦琐的工作。通过优化我们可以大大的提高系统运行效率和存储空间的利用率,达到用有限的资源实现一个高效的应用系统;说它烦琐是因为它涉及的面太宽了,从系统的规划、库表的设计、sql语句的编写、物理设备和网络设备的性能、内存和存储空间的分配等等都影响着系统的性能。正因为它的烦琐,才给系统优化工作者们提供了一个施展才华的舞台。对于sql是一个基础简单却有是较难写好的查询语言,它的好坏直接影响系统的性能;本篇将从sql查询的内部原理、oracle数据库服务器是怎么处理sql的、oracle数据库sql优化原则、oracle sql怎么优化,对于sql怎样使用就没有作说明。
Sql查询内部原理
查询在处理过程中分为四个大的阶段:将查询转换为内部格式阶段、将内部格式转换为规范格式阶段、为执行选择低层过程阶段、生成并选择最低的查询计划阶段,如图:
目录表
源查询
DML处理器
编译后查询
元数据
结果
源查询
查询计划
运行时管理器
优化器
数据库
编译
视图处理
翻译
关系代数
表达式
表达式转换代价估算
优化后的代码
执行
阶段1:将查询转换为内部格式阶段
这一阶段主要是进行语法分析,将原查询转换为数据库内部格式以便于机器处理,不符合语法规范的报错返回,为sql优化过程铺平道路。
阶段2:将内部格式转换为规范格式
在这一阶段,数据库优化器将执行一系列“保证能够优化”的优化过程,是不会去考虑实际数据的值和数据库的存取路径;优化器将查询的内部表示转换为等价的规范格式。比如说将“A=B替换为B=A或者是p and q 替换为q and p”,这样做的目的是消除语句表面上的差异,以便能够找到一种在某些方面比原查询更为高效的表示方法。比如说能够将表达式(A JOIN B)WHERE retriction on A 转为等价高效的表达式(A WHERE restriction on A)JOIN B。
阶段3:为执行选择低层过程
在这一阶段,优化器考虑的是索引、物理存取路径、数据值的分布、数据的物理聚集存储等问题。基本的策略就是将查询表达式看成一系列的“低层操作”,对于每一个可能的低层操作,都有一组可用的低层过程,而每一个低层过程都会有一个相关的代价计算公式(磁盘i/o代价,cpu利用率)。
阶段4:生成并选择最低代价的查询计划
这一阶段就是构造一组查询计划,选择一个最优,也就是代价最小的查询计划。因为每个计划都绑定一系列的低层过程,每一个过程对应查询中的一个低层操作。优化器此时将所有的过程进行计算,选择一个代价最低的执行。
那么oracle 又是怎么来处理sql的呢?我们来看看:
oracle分析处理sql的简单过程
oracle在处理SQL语句上我们简单的概括为的三个阶段
:语法分析、OK
用户进程
服务器进程
解析
Statement
OK
Handle
执行
Handle
提取
Results
执行、返回指令(如图)
Select 过程:用户select查询语句发送至server,server在共享池进行语法分析和生成执行计划,然后由后台专有server从磁盘读取数据到data b

oracle数据库sql调优 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数7
  • 收藏数0 收藏
  • 顶次数0
  • 上传人ipod0b
  • 文件大小93 KB
  • 时间2017-09-15