如何从具有最佳性能的数据库中获取树结构数据?例如,假设您在数据库中有一个文件夹层次结构.folder-database-row具有ID,Name和ParentID列的位置.
您是否会使用特殊算法一次性获取所有数据,最大限度地减少数据库调用量并在代码中处理它?
或者你会使用多次调用数据库并直接从数据库中获取结构?
也许根据x数据库行数,层次结构深度或其他什么有不同的答案?
编辑:我使用Microsoft SQL Server,但其他观点的答案也很有趣.
当我在Oracle商店工作时,我认为CONNECT_BY是理所当然的.现在我不得不使用SQL Server 2005并且有一些讨厌的对象层次结构.具体来说,我们有一个自引用表,其中所有子记录都有一个父级id的列.目前,我们有一个视图,将子映射映射到层次结构中的级别,以及一个令人讨厌的查询,它将父母与子女联系起来.虽然这种方法有效,但它远非优雅和臭味.我只是好奇其他人如何从SQL Server 2005中检索分层数据.