Mysql实现树形结构查询

时间:2022-12-13 00:27:52
需求:
有一张表,主要字段uuid和parent_id.
parent_id对应表中的某条记录的uuid.
现要求mysql存储过程实现查找某一个parent_id下所有子节点,并且可以指定查找某一层子节点.
难点:如果存储过程中使用临时表,当面临大数据量和多人同时访问时容易出问题.
急求!!!!

6 个解决方案

#1


#2


引用 1 楼 mchdba 的回复:
mysq实现树形结构查询: http://blog.csdn.net/mchdba/article/details/39277301

好像你没看清我这问题哦...问题是多人访问数据库的时候调用存储过程操作临时表,容易出问题 比如第一个人建立了临时表,还没有查询的时候第二个人又进来新建临时表并查询...这样就坏事了.

#3


http://blog.csdn.net/acmain_chm/article/details/4142971
MySQL中进行树状所有子节点的查询
在Oracle 中我们知道有一个 Hierarchical Queries 通过CONNECT BY 我们可以方便的查了所有当前节点下的所有子节点。但很遗憾,在MySQL的目前版本中还没有对应的功能。 在MySQL中如果是有限的层次,比如我们事先如果可以确定这个树的最大深度是4, 那么所有节点为根的树的深度均不会超过4,则我们可以直接通过left join 来实现。 但很多时候我们...

临时表是SESSION级的,不会相互干扰。

#4


增加一个字段 缓存下 节点路径 ,然后用nodepath 去like 应该比较不错的做法

#5


引用 1 楼 mchdba 的回复:
mysq实现树形结构查询: http://blog.csdn.net/mchdba/article/details/39277301

学习了

#6


顶一个,+1

#1


#2


引用 1 楼 mchdba 的回复:
mysq实现树形结构查询: http://blog.csdn.net/mchdba/article/details/39277301

好像你没看清我这问题哦...问题是多人访问数据库的时候调用存储过程操作临时表,容易出问题 比如第一个人建立了临时表,还没有查询的时候第二个人又进来新建临时表并查询...这样就坏事了.

#3


http://blog.csdn.net/acmain_chm/article/details/4142971
MySQL中进行树状所有子节点的查询
在Oracle 中我们知道有一个 Hierarchical Queries 通过CONNECT BY 我们可以方便的查了所有当前节点下的所有子节点。但很遗憾,在MySQL的目前版本中还没有对应的功能。 在MySQL中如果是有限的层次,比如我们事先如果可以确定这个树的最大深度是4, 那么所有节点为根的树的深度均不会超过4,则我们可以直接通过left join 来实现。 但很多时候我们...

临时表是SESSION级的,不会相互干扰。

#4


增加一个字段 缓存下 节点路径 ,然后用nodepath 去like 应该比较不错的做法

#5


引用 1 楼 mchdba 的回复:
mysq实现树形结构查询: http://blog.csdn.net/mchdba/article/details/39277301

学习了

#6


顶一个,+1