关于Oracle的提示详解(1)
对于Oracle性能调优来说,在初始设计的时候,按照Oracle 推荐的OMF进行安装配置之后是最优化的物理结构。
然而实际情况是这样的:大部分的性能很差的数据库,究其根本原因是为程序中的SQL代码很糟糕,很多程序员可能不清楚Oracle的体系结构,不知道Oracle对于一条sql是如何处理的,就会想当然的去写,造成语句未使用绑定变量,执行计划没有使用索引,大部分都是全表扫描。有时候部门就需要有一位对Oracle内部体系结构很清楚地DBA对开发人员进行培训,
有点儿悲剧的感觉。
好了,既然实际上是这样的,我在此就介绍一些优化的技巧:
Oracle 大概知道会有这样的情况,就给我们提供了一种优化的方案--提示
提示的基本语法是:
/*+ 提示名称 */
像一种注释,提示名称就是具体的一些提示语法关键字 如:FULL
写出来就像这个样子: select /*+ FULL (table) */ column1,..... from table
如果提示语法不正确,那也不用担心,除了没有达到预期的结果,也不会有什么影响,Oracle会忽略它。
一.使用FULL提示
语法: select /*+ FULL (table) */ column1,..... from table
其中的 table 是执行全表扫描的表名,如果使用了表的别名,那就必须使用别名,否则提示将不能工作。
示例:
select /*+ FULL(emp) */ *
from emp
where deptno= 1 ;
1.使用scott 用户连接示例数据库:
打开sql 跟踪, set autotrace on
2.不添加提示执行上述语句并且在 列deptno 有索引emp_deptno,输出的执行计划如下:执行的是索引范围扫描。
3.执行上述示例添加 FULL 提示执行结果如下: 执行计划执行的是全表扫描
提示:当一个表数据行不是很多的情况下,执行索引范围扫描比全表扫描要慢一些。
但是以上的图示去相反,全表扫描比索引范围扫描要慢,这是因为没有对表进行收集统计信息
4.执行表分析 analyze table emp compute statistics
在此执行上述SQL结果:
无FULL提示
有FULL提示:
对比以上结果可以看出,FULL提示对于优化某些小表是很有帮助的。
关于Oracle的提示详解(1)相关推荐
- oracle -- Oracle初始化参数详解
oracle -- Oracle初始化参数详解 Oracle数据库系统根据初始化参数文件init.ora中设置的参数来配置自身的启动,每个实例在启动之前,首先读取这些参数文件中设置的不同参数. Ora ...
- Oracle表空间_PK是什么意思,Oracle表空间详解
关键字:Oracle表空间详解 一.============ 查询 =================== 1.查询oracle用户的默认表空间和临时表空间 select default_table ...
- oracle控制文件都一样么,Oracle控制文件详解
一.Oracle控制文件 为二进制文件,初始化大小由CREATEDATABASE指定,可以使用RMAN备份 记录了当前数据库的结构信息,同时也包含数据文件及日志文件的信息以及相关的状态,归档信息等等 ...
- Oracle cursor_sharing 参数 详解
一. 官网的说明 http://download.oracle.com/docs/cd/E11882_01/server.112/e17110/initparams042.htm#REFRN10025 ...
- oracle参数文件initorcl位置,oracle 参数文件详解
参数文件 两类参数文件: pfile:文本文件的参数文件,可以使用vi,vim等编辑器修改,文件名通常为init.ora spfile:二进制的参数文件,不能直接修改,只能存放在Oracle服务器端, ...
- Oracle建立全文索引详解
Oracle建立全文索引详解 1.全文检索和普通检索的区别 不使用Oracle text功能,当然也有很多方法可以在Oracle数据库中搜索文本,比如INSTR函数和LIKE操作: SELECT *F ...
- oracle做子查询注意事项,Oracle子查询详解
Oracle子查询详解,根据查询的结果(内部嵌套查询的结果)把子查询的类型分为单行子查询与多行子查询, 子查询概念 :当一个查询的结果是另一个查询的条件时,,称之为子查询. 使用子查询注意事项: 子查 ...
- Oracle中CONCAT详解
Oracle中CONCAT详解 1.什么是CONCAT 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写 ...
- oracle语句中dual什么意思,oracle中dual详解
oracle中dual详解 基本上oracle引入dual为的就是符合语法 1. 我们先从名称来说,dual不是缩写词,本身就是完整的单词.dual名词意思是对数,做形容词时是指二重的,二元的. 2. ...
最新文章
- imp 只导表前10条数据_做电商设计,你必须懂的10条数据指标
- CSS 工程化 小结
- 一些设计上的基本常识(转载)
- 设备树(device tree)学习笔记
- 微软发布ReactXP:方便开发者构建跨平台应用
- 四:理解Page类的运行机制(例:基于PageStatePersister的页面状态存取)
- java htmlparser 使用教程_HTMLParser使用详解(1)
- 卷积神经网络CNN介绍:结构框架,源码理解【转】
- HTML 5 会让iOS和Android开发者转行吗?
- eclipse查看git地址_40个适用于Linux管理员和开发人员的git命令(上)
- java 安卓 教学视频教程下载,老罗Android开发视频教程[共9大知识点] 下载
- 2017年日本光伏市场展望
- Swing Copters摇摆直升机高分攻略,游戏攻略
- 阿里云短信服务(无需营业执照)快速上手
- bzoj4137[FJOI2015]火星商店问题
- Error in v-on handler: “TypeError: this.$refs.popup.isShow is not a function“
- idea下载数据库驱动太慢?
- win10玩cf不能全屏_神奇的工作室ghost 不能启动
- React学习(六)-React中组件的数据-state
- ACM-ICPC 常用算法刷题网站整理