我在 SQL Server 中有一个表,它具有 Item_ID、Item_ParentID 的正常树结构。 假设我想迭代并获取特定 Item_ID 的所有子项(在任何级别)。
递归似乎是这个问题的直观候选者,我可以编写一个 SQL Server 函数来完成此任务。
如果我的表有很多记录,这会影响性能吗? 如何避免递归并简单地查询表?请问有什么建议吗?
最佳答案
在新的 MS SQL 2005 中,您可以使用 WITH
关键字
查看this question特别是this answer .
使用 Oracle,您可以使用 CONNECT BY
关键字生成分层查询 ( syntax )。
据我所知,使用 MySQL 你必须使用递归。
或者,您始终可以为记录父->子关系构建一个缓存表
关于sql-server - SQL Server 中的递归好吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/191208/