版本 8.0 以上 表有两列数据;作业名,依赖作业名,无主键。 正确示例数据: jobName dependencyJobName jobA jobB jobA jobC jobC jobD
我想要通过 sql 查询是否有循环依赖,即 A 依赖与 A , 比如:A--》 B--》 C--》 A jobName dependencyJobName jobA jobB jobB jobC jobC jobA
目前是通过 Java 递归实现的,效率很差,请问下能否通过 sql 实现。
1
seanzxx 2022-02-08 11:13:26 +08:00
|
2
xuanbg 2022-02-08 11:24:12 +08:00
mysql8 可以支持递归查询,但效率也很低。楼主你这个问题其实就是判断图 /树的问题,所以还是用数学方法来吧。
|
3
yidinghe 2022-02-08 11:30:31 +08:00
如果你想查询整个表里面是否有循环依赖,这个做不到;
如果想查询具体某个 job 的依赖链中是否有循环依赖,还是可以的。 |
4
leonhao 2022-02-08 11:53:24 +08:00
recursive cte
|