递归是否适合SQL Server?

Jul*_*s A 9 sql-server recursion

我在SQL服务器中有一个表,它具有Item_ID,Item_ParentID的正常树结构.假设我想迭代并获取特定Item_ID(在任何级别)的所有CHILDREN.

递归似乎是这个问题的直观候选者,我可以编写一个SQL Server函数来执行此操作.

如果我的表有很多记录,这会影响性能吗?如何避免递归并简单地查询表?请问有什么建议?

Ily*_*tov 5

使用新的MS SQL 2005,您可以使用WITH关键字

看看这个问题,特别是这个答案.

使用Oracle,您可以使用CONNECT BY关键字生成分层查询(语法).

使用MySQL的AFAIK你必须使用递归.

或者,您始终可以为记录父级 - >子级关系构建缓存表