oracle sql优化指导,基于Oracle的sql优化(1)
先创建表和索引
create table emp_temp as select * from emp;
create index idx_mgr_temp on emp_temp(mgr);
create index idx_deptno_temp on emp_temp(deptno);
执行sql
select * from emp_temp where mgr>100 and deptno >100;
查看优化器模式:
SQL> show parameter optimizer_mode;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
optimizer_mode string ALL_ROWS
SQL> select name, value from v$parameter where name='optimizer_mode';
NAME
--------------------------------------------------------------------------------
VALUE
--------------------------------------------------------------------------------
optimizer_mode
ALL_ROWS
修改
SQL> alter session set optimizer_mode='RULE'; (scott)
SQL> set autotrace traceonly explain;
SQL> select * from emp_temp where mgr>100 and deptno >100;
Execution Plan
----------------------------------------------------------
Plan hash value: 1670750536
-------------------------------------------------------
| Id | Operation | Name |
-------------------------------------------------------
| 0 | SELECT STATEMENT | |
|* 1 | TABLE ACCESS BY INDEX ROWID| EMP_TEMP |
|* 2 | INDEX RANGE SCAN | IDX_DEPTNO_TEMP |
-------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
1 - filter("MGR">100)
2 - access("DEPTNO">100)
Note
-----
- rule based optimizer used (consider using cbo)
此时如果我们发现走deptno的索引没有mgr的效率高,我们该怎么办?
SQL> select * from emp_temp where mgr>100 and deptno+0>100;
Execution Plan
----------------------------------------------------------
Plan hash value: 2973289657
----------------------------------------------------
| Id | Operation | Name |
----------------------------------------------------
| 0 | SELECT STATEMENT | |
|* 1 | TABLE ACCESS BY INDEX ROWID| EMP_TEMP |
|* 2 | INDEX RANGE SCAN | IDX_MGR_TEMP |
----------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
1 - filter("DEPTNO"+0>100)
2 - access("MGR">100)
Note
-----
- rule based optimizer used (consider using cbo)
SQL>
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29674916/viewspace-2132832/,如需转载,请注明出处,否则将追究法律责任。
oracle sql优化指导,基于Oracle的sql优化(1)相关推荐
- 如何分表分库 Mycat 与shadingjdbc 区别? Mycat 是基于服务器端的形式实现数据库代理 基于服务器端的形式 改写sql语句 shadingjdbc 基于客户端 改写sql语
如何分表分库 Mycat 与shadingjdbc 区别? Mycat 是基于服务器端的形式实现数据库代理 基于服务器端的形式 改写sql语句 shadingjdbc 基于客户端 改写sql语句的形式 ...
- 解决oracle绑定变量重复,基于ORACLE SQL优化之绑定变量(4)
绑定变量的使用过程当中,oracle建议绑定变量的个数不宜太多.目标SQL的SQL文本中的绑定变量个数不宜太多,否则可能会导致目标SQL总的执行时间大幅度的增长.增长的时间主要消耗在执行目标SQL时对 ...
- oracle his的用法,基于oracle的医院his数据库优化
基于oracle的医院his数据库优化 康秀谦 [期刊名称]<电脑知识与技术> [年(卷),期]2014(000)014 [摘要]数据库作为信息系统的核心,其稳定.高效的运行,是医院信息系 ...
- 基于oracle设计与实现,基于Oracle的高校研究生招生系统设计与实现.doc
基于Oracle的高校研究生招生系统设计与实现 第 6 卷第 7 期 (2010 年 3 月) Computer Knowledge and Technology 电脑知识与技术 E-mail: HY ...
- oracle apex 发布应用,基于Oracle APEX的快速Web应用开发
随着软件技术的飞速发展和Oracle数据库的广泛应用,许多基于Oracle数据库的Web开发工具应运而生,这些工具给开发人员更加快速.高效.便捷地进行Web应用开发提供了莫大的帮助[1].其中,Ora ...
- oracle declare语法_基于oracle数据库存储过程的创建及调用
教学大纲: PLSQL编程:Hello World.程序结构.变量.流程控制.游标. 存储过程:概念.无参存储.有参存储(输入.输出). JAVA调用存储存储过程. 1. PLSQL编程 1.1. 概 ...
- oracle lms进程 内存,基于oracle 10.2.0.1 rac学习lms进程系列四
背景 之前,我们了解了lmd进程一些概念,这儿我们学习下另一个重要RAC后台进程,LMS进程. 结论 1,如果lms出现故障,会导致dml事务无法提交,即提交或回退hang住;并且远端节点的DML操作 ...
- 医院oracle数据使用价格,基于Oracle数据库的医院门诊收费管理系统的构建研究
基于Oracle数据库的医院门诊收费管理系统的构建研究 [摘要]随着我国医疗水平和服务质量的全面提高,医院业务规模持续扩大,患者到医院就诊的人数也越来越多,医院门诊收费窗口的收费工作承受了巨大压力,人 ...
- oracle sql 查询优化器,基于ORACLE成本优化器的SQL查询优化分析与应用
第 39 卷 第 2 期2018 年 3 月 内蒙古农业大学学报( 自 然 科 学 版 ) Journal of Inner Mongolia Agricultural University ( Na ...
最新文章
- 给vim添加自动跳出括号的功能
- html_javascript
- exxi6.7如何传文件到win7_比QQ直传快100倍!它让PC、安卓、iPhone光速互传文件
- EasyUI(前端框架)
- [密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第9篇]香农对熵和信息的定义是什么?
- android界面初始化设计,界面数据初始化及各个按钮功能的实现
- C#联通新版验证码识别的实现[转]
- scrapy爬虫架构介绍和初试
- java memcached incr_Memcached incr/decr 命令
- 给项目添加spring的测试单元
- iPhone企业应用实例分析之二:程序处理流程
- Nginx源码目录介绍
- ps制作计算机考试证件照,如何通过PS制作一寸证件照(超详细流程)?
- 8、(八)外汇基础篇之外汇期权交易
- 京东广告受众基础属性预估
- UG基础知识学习视频目录整理(建模篇)
- python象棋编程_Python开发象棋小游戏(绘制棋盘)
- 职业操盘手的止损法则
- Netty私有协议栈 读书笔记
- openCV给图片加坐标轴
热门文章
- (Docker实战) 第5篇:Centos7 拉取和部署搭建 NEXUS私服
- 3行代码实现ftp 上传、下载、删除操作集合
- SpringBoot2整合Activiti6工作流框架
- Spring 集成 mybatisPlus
- 学习笔记之数据可视化(二)—— 页面布局(下)
- React之state总结
- 皮尔洛和c罗讲什么语言,皮尔洛:如果我跟C罗是队友 我可能能成历史助攻王
- php strlen ctf,CTF中的PHP反序列化漏洞简单分析
- java怎么设置背景_如何在Java中设置背景图片?
- 离散中多重组合是指_PLC编程中如何使用开关、模拟、脉冲量