比较两种mysql递归tree查询效率-mysql递归tree

作者:如沐春风 | 创建时间: 2023-03-30
本文目的为对比mysql递归树两种查询方式效率。...
比较两种mysql递归tree查询效率-mysql递归tree

方式一:采用function获取所有子节点的id

--查询传入areaId及其以下所有子节点

--调用方式

方式二:采用临时表和存储过程完成

-- 创建存储过程

-- 调用方式

两种方式对比:

--简易程度 首先我们可以通过sql语句就可以看的出,方式二的代码量差不多是方式一的两倍,而且又是临时表又是游标的,极易出错。 --效率对比 可以通过图片可以看到,同样的查询结果,方式一仅仅需要0.044s既可以完成查询,而方式二则需要1.525s,效率远远低于方式一。

结论:

强烈推荐用方式一,当然你脑子不够数,用方式二我也管不着。

温馨提示

执行方式二是系统出报错,错误原因是因为没有指定控制递归调用层数上线,可以通过利用系统参数 max_sp_recursion_depth 来控制递归调用的层数上限。
点击展开全文

更多推荐