2011-05-19 70 views
0

我正在檢查postgresql的文檔以獲得遞歸查詢,我得到了一個示例。SQL:輸出的順序

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

答案取決於您的模式設計,硬件/操作系統,配置和加載的數據量。用解釋和解釋分析來運行它,並在幾個典型查詢中選擇最快的。

即使我有足夠的信息來猜測你的模式和樣本數據,任何對我有用的答案可能都不適合你。