sql-server - SQL Server 中的递归好吗?

标签 sql-server recursion

我在 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/

相关文章:

java - 使用递归来更改变量

sql - 希望优化此查询

javascript斐波那契内存

c - 在递归中传递指针会导致段错误

SQL Server 相关查询

python - 递归或迭代函数 (Python)

java - 将两个非负整数相乘的递归方法

mysql - 将 MySQL 日期戳(毫秒)转换为 SQL Server 毫秒

sql - 在 SQL Server 2005 中设置和重置日期格式

sql-server - 使用 FME 或其他方法将多个 Excel 文件迁移到 SQL Server