位置: - 正文

MySQL实现类似于connect_by_isleaf的功能MySQL方法或存储过程(mysql和c)

编辑:rootadmin

推荐整理分享MySQL实现类似于connect_by_isleaf的功能MySQL方法或存储过程(mysql和c),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mysql类似rownum,mysql类似merge,mysql类似于oracle的rownum,mysql类似软件,mysql与c++相连,mysql和c,mysql类似rownum,mysql类似软件,内容如对您有帮助,希望把文章链接给更多的朋友!

最近有个特别变态的业务需求,有一张表

大概就是这样,有多万行记录,每个pid记录的这个ID的最顶级分类,tid是它的上级分类!现在需求是:通过指定一个ID,查找出它的所有子集成员,并修改这个pid的值为新指定的值!!在PHP中跑了一下,执行时间大概需要秒+,很是痛苦!!!需要递归找出所有子集,修改它的pid,工作量还是蛮大的。

而oracle中有一个方法是connect_by_isleaf,可以很方便的找出所有子集,但我是MySQL......

所以用这儿简单的写写用MySQL的方法或存储过程实现的经验

第一种:MySQL的方法

MySQL实现类似于connect_by_isleaf的功能MySQL方法或存储过程(mysql和c)

使用方法就是

但我在测试的时候,万的数据基本上就是崩溃!!!

优点: 简单,方便,没有递归调用层次深度的限制 (max_sp_recursion_depth,最大) ;缺点:长度受限。

第二种:存储过程+中间表

哈哈,万数据也卡成球了~~~

再想办法吧~~~~不折腾了

MySQL的查询计划中ken_len的值计算方法 key_len的含义在MySQL中,可以通过explain查看SQL语句所走的路径,如下所示:mysqlcreatetablet(aintprimarykey,bintnotnull,cintnotnull,index(b));QueryOK,0rowsaffected(0.sec)mysqlexpla

linux下mysql 5.7. 免安装版本图文教程 本文为大家分享了mysql5.7.免安装版本教程,供大家参考,具体内容如下MySQL:5.7.程序目录:/usr/local/MySQL数据文件目录:/data/mysql下载地址

MySQL 5.7.压缩版安装笔记 本文实例为大家分享了mysql5.7.压缩版安装步骤,供大家参考,具体内容如下1.下载压缩包并解压缩到相应目录2.添加MySQL的bin目录路径到Path环境变量3.修

本文链接地址:https://www.jiuchutong.com/biancheng/350092.html 转载请保留说明!
下一篇链接:https://www.jiuchutong.com/biancheng/350093.html
免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络