Oracle SQL
文章平均质量分 79
dataminer_2007
做一个追求极致的人
展开
-
Oralce 高级 sql 之 rollup 与 cube
在 oracle sql 查询中,oracle 提供了一些高级功能能够简化 sql 查询语句以及提高查询性能。下面将介绍 rollup,cube的用法与区别。rollup首先构造两个基本表 emp(员工表) 与 dept(部门表):SQL> create table emp as select * from scott.emp;Table created.SQL> cr原创 2015-01-07 21:35:50 · 1116 阅读 · 0 评论 -
oracle 表连接 - hash join 哈希连接
一. hash 连接(哈希连接)原理指的是两个表连接时, 先利用两表中记录较少的表在内存中建立 hash 表, 然后扫描记录较多的表并探测 hash 表, 找出与 hash 表相匹配的行来得到结果集的表连接方法. 哈希连接只能用于等值连接条件(=)。假设下面的 sql 语句中表 T1 和 T2 的连接方式是哈希连接, T1 是驱动表select *from T1, T2wher原创 2014-12-18 18:13:08 · 3483 阅读 · 0 评论 -
使用 10046 查看执行计划并读懂 trace 文件
查看 sql 执行计划的方法有许多种, 10046 事件就是其中的一种. 与其他查看 sql 执行计划不同, 当我们遇到比较复杂的 sql 语句, 我们可以通过 10046 跟踪 sql 得到执行计划中每一个步骤的逻辑读, 物理读以及花费的时间等. 这种细粒度的跟踪对于我们分析 sql 性能尤其有用.一般来说, 使用 10046 事件得到 sql 执行计划的步骤如下:1. 激活当前 s原创 2014-12-20 12:27:25 · 11821 阅读 · 0 评论 -
oracle 表连接 - nested loop 嵌套循环连接
一. nested loop 原理nested loop 连接(循环嵌套连接)指的是两个表连接时, 通过两层嵌套循环来进行依次的匹配, 最后得到返回结果集的表连接方法. 假如下面的 sql 语句中表 T1 和 T2 的连接方式是循环嵌套连接, T1 是驱动表select *from T1, T2where T1.id = T2.id and T1.nam原创 2014-12-09 18:27:15 · 14832 阅读 · 1 评论 -
oracle 表连接 - sort merge joins 排序合并连接
一. sort merge joins连接(排序合并连接) 原理指的是两个表连接时, 通过连接列先分别排序后, 再通过合并操作来得到最后返回的结果集的方法. 假如表 T1 和 T2 的连接方式是排序合并连接, oracle 执行步骤如下:(1) 根据 sql 语句中的谓词条件(如果有) 访问 T1 表, 得到一个过滤的结果集, 然后按照 T1 中的连接列对结果集进行排序(2原创 2014-12-13 10:35:22 · 1852 阅读 · 0 评论