我在SQL服务器中有一个表,它具有Item_ID,Item_ParentID的正常树结构.假设我想迭代并获取特定Item_ID(在任何级别)的所有CHILDREN.
递归似乎是这个问题的直观候选者,我可以编写一个SQL Server函数来执行此操作.
如果我的表有很多记录,这会影响性能吗?如何避免递归并简单地查询表?请问有什么建议?
使用新的MS SQL 2005,您可以使用WITH
关键字
看看这个问题,特别是这个答案.
使用Oracle,您可以使用CONNECT BY
关键字生成分层查询(语法).
使用MySQL的AFAIK你必须使用递归.
或者,您始终可以为记录父级 - >子级关系构建缓存表