我正在检查postgresql的docs for Recursive queries我得到了一个例子。
WITH RECURSIVE t(n) AS (
VALUES (1)
UNION ALL
SELECT n+1 FROM t WHERE n < 100
)
SELECT sum(n) FROM t
以上语句是否与100个SELECT语句相同。来自文档:
Recursive queries are typically used to deal with hierarchical or tree-structured data.
如果我想根据某些条件对层次结构进行排序,那么建议递归查询。例如。 SQL Query: Fetch ordered rows from a table - II和接受的答案。是否应从数据库中检索数据,然后在内存中进行排序。或者RECURSIVE查询将更加高效 !!
答案 0 :(得分:0)
答案取决于您的架构设计,硬件/操作系统,配置和加载的数据量。通过解释和解释分析两种方式运行它,并在几个典型查询中选择最快。
即使我有足够的信息来猜测您的架构和示例数据,任何对我有利的答案都可能不适合你。