【Oracle笔记】递归以及索引的一丢丢使用
【笔记】递归以及索引的一丢丢使用
递归写法,树查询
connect by nocycle prior
START WITH XXX
CONNECT BY PRIOR XXX
ORDER BY XXX
就算是在其中添加了where条件,也只是树的结构的一部分,并没有改变树的结构
SELECT LEVEL, t.*,o.wfid
FROM (SELECT cb.I,
c1.m_id,
c1.segment1_m,
c2.sub_id,
c2.segment1_sub
FROM cb,c1,cbd,c2
WHERE XXX
AND XXX
AND XXX
AND XXX
and XXX
) t,OO o
where o.ot = xx and o.w = xxx ---对查询结果进行过滤
START WITH t.m_id = o.O---顶层ID ---先走的这个
CONNECT BY PRIOR t.sub_id = t.m_id
ORDER BY LEVEL,I,segment1_m
这种结构查询的话是对所有的结果进行查询以后再进行过滤,而且如果其中出现了死循环的话,可能会直接报错
所以使用的话,可以放在游标中或者存储过程中通过传参的方式来进行,不推荐使用表连接的方式去查询,会相当的慢
数据库索引的使用
很多时候,虽然加了索引,但是还是很慢,这种情况下,可能是没有用到这个索引
可以通过对自己SQL语句的条件进行变化而使用上索引
比如一个表的索引是Normal类型,对象有A,B,C
如果在语句中只使用A作为连接条件进行表连接的话,可能就不会触发这个索引,在同时使用了这三个以后,就会快很多,如果数据量比较大的话,速度的提示可能是几十倍的提升
【Oracle笔记】递归以及索引的一丢丢使用的更多相关文章
- Oracle笔记 目录索引
Oracle笔记 一.oracle的安装.sqlplus的使用 Oracle笔记 二.常用dba命令行 Oracle笔记 三.function .select Oracle笔记 四.增删改.事务 Or ...
- 【三思笔记】 全面学习Oracle分区表及分区索引
[三思笔记]全面学习Oracle分区表及分区索引 2008-04-15 关于分区表和分区索引(About PartitionedTables and Indexes) 对于 10gR2 而言,基本上可 ...
- Oracle笔记(十三) 视图、同义词、索引
一.视图 在之前所学习过的所有的SQL语法之中,查询操作是最麻烦的,如果程序开发人员将大量的精力都浪费在查询的编写上,则肯定影响代码的工作进度,所以 一个好的数据库设计人员,除了根据业务的操作设计出数 ...
- 韩顺平Oracle笔记
韩顺平Oracle笔记 分类: DataBase2011-09-07 10:24 3009人阅读 评论(0) 收藏 举报 oracle数据库sqljdbcsystemstring 目录(?)[-] ...
- 转:oracle笔记
oracle笔记1 卸载oracle developer server的方法: 1-1 oracle卸载工具中卸载对应的oracleds项目:在注册表中搜索ORACLEDS HOME对应的别名,删除对 ...
- Mongodb Manual阅读笔记:CH7 索引
7索引 Mongodb Manual阅读笔记:CH2 Mongodb CRUD 操作Mongodb Manual阅读笔记:CH3 数据模型(Data Models)Mongodb Manual阅读笔记 ...
- Oracle外键不加索引会引起死锁问题
转载链接:http://www.jb51.net/article/50161.htm 这篇文章主要介绍了Oracle外键不加索引引起死锁的情况及解决,需要的朋友可以参考下 --创建一个表,此表作为子表 ...
- 深入学习Oracle分区表及分区索引
关于分区表和分区索引(About Partitioned Tables and Indexes)对于10gR2而言,基本上可以分成几类: • Range(范围)分区 • Has ...
- oracle 分区表和分区索引
很复杂的样子,自己都没有看完,以备后用 http://hi.baidu.com/jsshm/item/cbfed8491d3863ee1e19bc3e ORACLE分区表.分区索引ORACLE对于分区 ...
- Oracle的几种索引
Oracle 提供了多种不同类型的索引以供使用.简单地说, Oracle 中包括如下索引: 1. B* 树索引 这些是我所说的 “ 传统 “ 索引.到目前为止,这是 Oracle 和大多数其他数据库中 ...
随机推荐
- Ingress和Ingress Controller什么关系
Ingress Controller和Ingress在Kubernetes(K8s)中各自扮演着不同的角色,但它们共同协作以实现外部访问集群内部服务的功能. Ingress是一个Kubernetes ...
- vue初学者入门教程
vue初学者入门教程 欢迎关注博主公众号「java大师」, 专注于分享Java领域干货文章, 关注回复「资源」, 免费领取全网最热的Java架构师学习PDF, 转载请注明出处 https://www. ...
- git 修改大小写远程分支失败
先说原因: windows大小写不敏感导致 最近由于项目需求,改回了windows开发环境,之前一直是 mac 开发环境,结果在windows环境下使用 git 时, 把某个之前大写的文件夹名称改 ...
- [置顶]
java.io.IOException: No such file or directory解决方案之权限问题
先贴出异常信息: java.io.IOException: No such file or directory at java.io.UnixFileSystem.createFileExclusiv ...
- XMLSpringEclipseWebCache
XMLSpringEclipseWebCache XMLSpy编辑工具中如何设置XML的DTD/XSD校验指向本地,而不要直接指向网络去? 前提:在不修改XML的条件下,修改XML的,不要这个,这个变 ...
- FFmpeg命令行之ffmpeg调整音视频播放速度
FFmpeg对音频.视频播放速度的调整的原理不一样.下面简单的说一下各自的原理及实现方式: 一.调整视频速率 视频的倍速主要是通过控制filter中的setpts来实现,setpts是视频滤波器通过改 ...
- leetcode 春季比赛3题 二叉搜索树染色
其实和二叉搜索树一点关系都没有. 每个点的颜色只取决于最后一次包含该点的操作.用 set 维护所有颜色待确定的点,倒序处理询问,每次利用 lower_bound 方法从 set 中取出所有在询问范围内 ...
- 大年学习linux(第六节---软件安装)
六.软件安装 rpm RPM软件包的管理工具 补充说明 rpm命令 是RPM软件包的管理工具.rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功 ...
- mysql where子句 区分 大小写
解决办法 使用binary关键字,此时就能区分大小写了 SELECT * FROM `tb_test` WHERE BINARY COL_1='abc'
- ABC326 A-F
vp on 2023.11.12 A.B:略. C:双指针或者二分. D:暴搜+剪枝,每一行的计算量最多是 $60$. E:期望相关.计算每个点的概率,乘上这个点的权值,并求和即可. F:meet i ...