sql >> データベース >  >> RDS >> Oracle

テーブル関数とパイプライン関数の違いは?

    Pipelined 関数、非常に古典的な例は、SELECT * FROM table nameを実行する場合です。 SQL*Plusで 。何が起こるかというと、Oracleはテーブルからデータをストリーミングします。

    YouTubeで動画を見るようなものです。

    'ストリーミングという言葉に注意してください '..そして、この関数では、ストリーミングする行数を定義します。..すべてのストリーミング 行は、呼び出し元がすぐに利用できます。 Pipelined 素人の言葉で言えば、あなたが完了するまで私を待たせないでください、あなたが持っているものを私に与えてください、そして私を同時に処理して更新し続けてください。

    最後の手順では、すべての行をパイプ処理した後、sleepを開始します 10sを呼び出す 、したがって、レコードはストリーミングされます 10秒ごとに発信者に送信します。

    また、通常のテーブル関数は、すべての処理作業が完了するまで待機し続け、その後、結果セットカーソルへの参照を返します。

    パイプライン化された関数は、メモリを節約すると主張しており、flushingによるものです。 コンテンツはすぐに使用されるため、使用されるバッファは常に最小限に抑えられますが、ラウンドトリップ数は多くなります。




    1. MariaDBテンポラルテーブルとは何ですか?

    2. SQLServerでSQLServerテーブルのテキストファイルから挿入ステートメントを生成する方法-SQLServer/TSQLチュートリアルパート106

    3. MySQL CHAR()とT-SQL CHAR():違いは何ですか?

    4. ビッグデータの3つの主要な特徴を理解する