转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/38321477 2014.7.31就晚20:30 My Oracle Support组猫大师在线分享<运行计划之误区,为什么COST非常小,SQL却跑得非常慢?>如需了解很多其它请登录站点http://www.jianfengedu.com/Discuz/detail/id/58 +++我给你看个东西. ------------------------------------------…
运行计划中的三种 Join 策略 SQL Server 存在三种 Join 策略:Hash Join,Merge Join,Nested Loop Join. Hash Join:用来处理没有排过序/没有索引的数据,它在内存中把 Join 两边数据(的关联key)分别建立一个哈希表.比如有下面的查询语句,关联的两张表没有建立索引,运行计划将显示为Hash Join. SELECT sh.* FROM SalesOrdHeaderDemo AS sh JOIN SalesOrdDetailDemo…
概念: blevel:二元高度=索引高度-1 clustering_factor:集群因子,通过索引扫面得出的要查询table的blocks数量,clustering_factor接近table的blocks说明table是依照索引顺序存储的,clustering_factor接近table行数说明table相比于依照索引顺序.用一种更为乱序的存储的. 索引扫描的计算公式: cost = blevel + ceil(leaf_blocks *effective index selectivity…
分区表有非常多优点,以大化小,一小化了,加上并行的使用,在loap中能往往能提高几十倍甚至几百倍的效果. 当然表设计得不好也会适得其反.效果比普通表跟糟糕. 为了更好的使用分区表,这里看一下分区表的运行计划. PARTITION RANGE ALL:扫描全部分区 PARTITION RANGE ITERATOR:扫描多个分区,小于全部个分区数量 PARTITION RANGE SINGLE:扫描单一的分区 KEY,表示运行时才知道哪个分区 看到keywordALL的时候就要注意了,扫描的是全部分…
背景: 某表忽然出现查询很缓慢的情况.cost 100+ 秒以上:严重影响生产. 原SQL: explain plan for select * from ( select ID id,RET_NO retNo, FROM_SYS fromSy, TO_SYS toSys, COMMAND_CODE commandCode, COMMAND, STATUS, EXT_CODE, ORIGN_CODE orignCode,error_message errorMessage, RE_F, RET_…
1,故障描写叙述: 一条select有两个运行计划.在sqlplus中运行选择好的运行计划.仅仅要40毫秒.而在程序中运行选择了差的运行计划,要1分23秒左右,导致前台业务超时报错. 2.故障解决: 使用outline固定好的运行计划后攻克了该故障. 3,故障发展顺序: (1),早上一上班,说CRM的一个业务报错,crm应用开发者.接口的.tuxdo.dba集中到一起開始诊断错误. (2),业务返回超时错误 (3),数据库这边抓取AWR报告发现例如以下信息: watermark/2/text/a…
[注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 1.1  运行环境说明 1.1.1 硬软件环境 线程,主频2.2G,10G内存 l  虚拟软件:VMware® Workstation 9.0.0 build-812388 l  虚拟机操作系统:CentOS6.5 64位,单核 l  虚拟机运行环境: Ø  JDK:1.7.0_55 64位 位) Ø  Scala:2.10.4 Ø  Spark:1.1.0(需要编译) Ø  Hive:0.13.1…
explain主要是用来获取一个query的运行计划,描写叙述mysql怎样运行查询操作.运行顺序,使用到的索引,以及mysql成功返回结果集须要运行的行数.能够帮助我们分析 select 语句,让我们知道查询效率低下的原因,从而改进我们的查询.让查询优化器能够更好的工作. explain语法及描写叙述 从上面我们能够看到explain的语法是在select语句之前加上explain关键字即可了. 然后在运行explain之后会包括下面列信息: id:标识符,表示运行顺序. select_typ…
有一个递归查询在10g上执行非常快,但在11g上执行不出来. SQL> select * from v$version; BANNER -------------------------------------------------------------------------------- Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production PL/SQL Release 11.2.0.4.…
总的结论: 一.获取运行计划的6种方法(具体步骤已经在每一个样例的开头凝视部分说明了): 1. explain plan for获取:  2. set autotrace on .  3. statistics_level=all; 4. 通过dbms_xplan.display_cursor输入sql_id參数直接获取 5. 10046 trace跟踪 6. awrsqrpt.sql 二.适用场合分析 1.假设某SQL运行很长时间才会出结果.甚至慢到返回不了结果,这时候看运行计划就仅仅能用方法…