0

例を取得した再帰クエリのpostgresqlのドキュメントをチェックしていました。

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 クエリ: テーブルから順序付けられた行をフェッチします - IIおよび受け入れられた回答。DB からデータを取得し、メモリ内でソートする必要があります。または RECURSIVE クエリの方が効率的です!!

4

1 に答える 1

0

答えは、スキーマの設計、ハードウェア/OS、構成、および読み込まれたデータの量によって異なります。Explain と Explain Analyze を使用して両方の方法で実行し、いくつかの一般的なクエリで最速のものを選択します。

あなたのスキーマと模範データを推測するのに十分な情報があったとしても、私にとって良い答えはあなたにとって良いとは限らない.

于 2011-05-19T09:57:17.057 に答える