今天研究执行计划,看到执行计划里面有Cost (%CPU),我这边研究了一把,不知道对与否,拿出来晒晒在Oracle 10g中,Oracle 把CPU的cost也统计在执行计划中去了, 这和以前的8i,9i(9i其实已经开始了)有很大的不同。所以用一个公式来表示cost,可以简单的写成Cost = ...
分类:
其他好文 时间:
2014-07-18 21:15:21
阅读次数:
254
在sql中不指定Order by,排序是按照主键吗?答案是不一定。举个例子: 查询AttendanceEmpRank表,主键是AttendanceEmployeeRankId,而且是聚集索引 执行下面的语句,发现第一句不指定Order by的结果跟第二句不一样。 再看看执行计划,我们可以知道,第一句...
分类:
数据库 时间:
2014-07-16 19:03:15
阅读次数:
224
Catalyst定位
其他系统如果想基于Spark做一些类sql、标准sql甚至其他查询语言的查询,需要基于Catalyst提供的解析器、执行计划树结构、逻辑执行计划的处理规则体系等类体系来实现执行计划的解析、生成、优化、映射工作。
对应上图中,主要是左侧的TreeNodelib及中间三次转化过程中涉及到的类结构都是Catalyst提供的。至于右侧物理执行计划映射生成过程,物理执行计划基于成本的优化模型,具体物理算子的执行都由系统自己实现。
Catalyst现状
在解析器方面提供的是一个简单的scala...
分类:
数据库 时间:
2014-07-16 17:34:38
阅读次数:
391
下面的执行计划是怎么打印出来的,很多朋友还是不知道。其实语句只有三条: explain plan for 你要查看的SQL语句;commit;select * from table(dbms_xplan.display); -----分割线--------------------------...
分类:
其他好文 时间:
2014-07-16 17:04:23
阅读次数:
224
查询oracle sql的执行计划时,一个很重要的视图--dba_hist_sql_plan...
分类:
数据库 时间:
2014-07-16 13:47:45
阅读次数:
464
RBO和CBO的基本概念 Oracle数据库中的优化器又叫查询优化器(Query Optimizer)。它是SQL分析和执行的优化工具,它负责生成、制定SQL的执行计划。Oracle的优化器有两种,基于规则的优化器(RBO)与基于代价的优化器(CBO) RBO: Rule-Based Optimiz...
分类:
数据库 时间:
2014-07-15 00:04:02
阅读次数:
581
在oracle中,标量子查询和自定义函数用的比较多,而且开发人员也比较常用,但经常会引起性能问题,特别表比较大的时候。下面的案例将教大家彻底搞懂标量子查询:
SQL> create table a (id int,name varchar2(10));
Table created.
SQL> create table b (id int,name varchar2(10));...
分类:
数据库 时间:
2014-07-14 18:38:36
阅读次数:
510
在数据库中,对性能影响最大的包括数据库的锁策略、缓存策略、索引策略、存储策略、执行计划优化策略。索引策略决定数据库快速定位数据的效率,存储策略决定数据持久化的效率。1.索引不存储null值。 更准确的说,单列索引不存储null值,复合索引不存储全为null的值。索引不能存储Null,所以对这列采用i...
分类:
数据库 时间:
2014-07-14 10:52:25
阅读次数:
248
原文:浅析SQL SERVER执行计划中的各类怪相在查看执行计划或调优过程中,执行计划里面有些现象总会让人有些疑惑不解: 1:为什么同一条SQL语句有时候会走索引查找,有时候SQL脚本又不走索引查找,反而走全表扫描? 2:同一条SQL语句,查询条件的取值不同,它的执行计划会一致吗? 3: 同一条SQ...
分类:
数据库 时间:
2014-07-13 21:45:56
阅读次数:
375
一、前提概述在介绍SQL Profile之前,不得不说的一个工具就是SQL Tuning Advisor;这个工具是从Oracle 10g開始引入,它的任务就是分析一个指定的SQL语句,并建议怎样使用一些方法来提高指定语句的性能,比如:收集缺失的对象统计信息、或者收集过时的对象统计信息、创建新的索引...
分类:
数据库 时间:
2014-07-13 19:21:58
阅读次数:
396