• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > oracle 使用递归的性能提示测试对比

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

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了递归,性能提示等相关知识,希望本文的分享对您有所帮助

先递归循环出某个文件夹下面的所有的文件夹以及文件在关联文件表查找文件的内容这是正确的做法,感兴趣的朋友可以了解下,或许对你学习oracle递归有所帮助

当你用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

上面代码的区别在于
正确的做法是:
先递归循环出某个文件夹下面的所有的文件夹以及文件在关联文件表查找文件的内容
错误的做法是:
先找到某个文件夹下面的 文件夹和文件
然后再 递归循环出 他下面的文件夹里面所有的文件夹以及文件
这样就造成了关联关联后冗余的数据 一起进行了 循环递归 本来就和文件没有关系 不应该吧文件也放进来递归
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 如何让MySQL中单句实现无限层次父子关系查询
  • MySQL关于递归的一个问题
  • 使用函数递归实现基于php和MySQL的动态..
  • SQL临时表递归查询子信息并返回记录的代码
  • 使用SQLSERVER 2005/2008 递归CTE查询树型结构的方法
  • SQLSERVER2005 中树形数据的递归查询
  • SQLserver2008使用表达式递归查询
  • MSSQL中递归SQL查询语句实例说明-
  • sqlserver另类非递归的无限级分类(存储过程版)
  • oracle 使用递归的性能提示测试对比

相关文章

  • 2017-08-22windows下在控制台下 mysql的一些简单的控制语句
  • 2018-12-05MySQL中curdate()函数的代码案例
  • 2018-12-05Mac上实现终端管理MySQL数据库
  • 2018-12-05centos7.3 安装mysql5.7.18实例详解
  • 2017-05-11什么情况下需要创建MySQL索引?
  • 2017-05-11mysql中自增auto_increment功能的相关设置及问题
  • 2018-12-05Mysql以utf8存储gbk输出的实现方法提供
  • 2018-12-05SQL学习笔记八 索引,表连接,子查询,ROW_NUMBER
  • 2018-12-05sqlserver 函数、存储过程、游标与事务模板
  • 2018-12-05log引起的mysql不能启动的解决方法

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • 简单介绍mysql 的时间函数以及实例
    • memcached的学习过程
    • MySQL 数据库常用命令(使用)
    • 布尔教育燕十八mysql入门视频资料分享
    • mysql中文排序注意事项与实现方法
    • SQL Server 7.0 入门(四)
    • RavenDB在传统C/S应用下的一点实践
    • MySQL性能分析工具profile使用教程
    • PHP学习散记 2012_01_07(MySQL)
    • 基于mysql体系结构的深入解析

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有