1

Postgresql に基本的なユーザー テーブルがあります。

CREATE TABLE myuser (
userId    bigserial primary key,
user_name varchar(32),
password  varchar(32)
);

このデータを取得するストアド プロシージャが必要です。ここのドキュメントを見ると: posgresql call proc基本的に 2 つの異なるオプションがあることがわかります。

  1. SETOF myuser を返す
  2. 必要なデータを含む refcursor を返す

私は Java を使用していますが、どちらが高速であるか、および/またはより優れているかを知りたいです。2つの機能の違いは何ですか? 唯一の違いは、Java CallableStatement の設定方法だけのように見えますが、なぜどちらか一方を選択するのでしょうか?

4

2 に答える 2

3

私は PostgreSQL の第一人者ではありませんが、SQL について知っている限りでは、ほとんどの場合、カーソルを使用するよりもセットを使用する方が優れているので、SETOF を使用してください。

また、PostgreSQL にはストアド プロシージャはなく、関数のみです。

于 2013-08-18T19:33:25.540 に答える