oracle 使用递归的性能提示测试对比

所属分类: 数据库 / oracle 阅读数: 67
收藏 0 赞 0 分享
当你用start with connect by nocycle prior
进行递归查找数据的时候那么下面两段代码的性能肯定是有明显差别的大家用的时候 请注意了代码可以不看下面 直接看我的总结
//查询某个文件夹文件夹ID=12里面的层次数以及 文件的个数
A:为文件之间的关联关系 上下级关系
B:为文件夹里面的文件
正解:
复制代码 代码如下:

select count(0) cou,max(levels)+1 as levels
select C.a1,C.a2,C.levels...
from
(Select A.a1 ,A.a2,,,
level levels//层次关系
from A
where A.a1=,,,
and A.a2=....
start with A.a1 = 12
connect by nocylce prior A.ID=A.ParentID
) C left join B
on C.文件ID=B.文件ID
and C.文件类型=文件夹

错解:
复制代码 代码如下:

select count(0) cou,max(levels)+1 as levels
select C.a1,C.a2,C.levels...
from
(Select A.a1 ,A.a2,,,
level levels//层次关系
from A
left join B
on C.文件ID=B.文件ID
where C.文件类型=文件夹
and A.a1=,,,
and A.a2=....
start with A.a1 = 12
connect by nocylce prior A.ID=A.ParentID
) C

上面代码的区别在于
正确的做法是
先递归循环出某个文件夹下面的所有的文件夹以及文件在关联文件表查找文件的内容
错误的做法是
先找到某个文件夹下面的 文件夹和文件
然后再 递归循环出 他下面的文件夹里面所有的文件夹以及文件
这样就造成了关联关联后冗余的数据 一起进行了 循环递归 本来就和文件没有关系 不应该吧文件也放进来递归
更多精彩内容其他人还在看

oracle(plsql)生成流水号

这篇文章主要介绍了oracle(plsql)生成流水号,需要的朋友可以参考下
收藏 0 赞 0 分享

oracle中decode函数的使用方法

这篇文章主要介绍了oracle中decode函数的使用方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Oracle数据远程连接的四种设置方法和注意事项

Oracle数据库的远程连接可以通过多种方式来实现,本文我们主要介绍四种远程连接的方法和注意事项,并通过示例来说明,接下来我们就开始介绍
收藏 0 赞 0 分享

oracle表空间中空表统计方法示例介绍

这篇文章主要介绍了oracle表空间中空表统计方法,需要的朋友可以参考下
收藏 0 赞 0 分享

oracle用户权限、角色管理详解

这篇文章主要介绍了oracle用户权限、角色管理的使用和示例,需要的朋友可以参考下
收藏 0 赞 0 分享

oracle用户权限管理使用详解

这篇文章主要介绍了oracle用户权限管理使用方法,需要的朋友可以参考下
收藏 0 赞 0 分享

oracle生成动态前缀且自增号码的函数分享

这篇文章主要介绍了oracle生成动态前缀且自增号码的函数,需要的朋友可以参考下
收藏 0 赞 0 分享

45个非常有用的 Oracle 查询语句小结

这里我们介绍的是 40+ 个非常有用的 Oracle 查询语句,主要涵盖了日期操作,获取服务器信息,获取执行状态,计算数据库大小等等方面的查询。这些是所有 Oracle 开发者都必备的技能,所以快快收藏吧
收藏 0 赞 0 分享

oracle监控某表变动触发器例子(监控增,删,改)

这篇文章主要介绍了oracle监控某表变动触发器例子(监控增,删,改),用于监控某表的变动并生成日志记录到另一个表,需要的朋友可以参考下
收藏 0 赞 0 分享

oracle 数据库隔离级别学习

这篇文章主要介绍了oracle数据库的隔离级别相关的知识,数据库操作的隔离级别,有需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多