0

クエリのパフォーマンスに関して、どちらがより効果的ですか?
T がテーブルであり、PK がテーブル T の主キーであると考えます。それらは異なるのでしょうか、それとも単なる選択の問題ですか?

select col1, col2 into :var1, :var2 
  from T 
 where PK = a

...また:

  1. EXEC SQL DECLARE aCursor CURSOR FOR select col1, col2 into :var1, :var2 from T where PK = a;
  2. EXEC SQL OPEN aCursor
  3. EXEC SQL FETCH aCursor

主キーに基づいてテーブルから単一の行をフェッチするようにカーソルを宣言することは、代わりに単一の行を直接取得できる場合はあまり意味がないと思いますか?

4

2 に答える 2

1

単一の行のみを処理している場合は、カーソルを使用しません。これはオーバーキルのようです

于 2009-12-03T06:46:08.213 に答える
0

SELECT INTOカーソルを使用するよりも常に高速です。

カーソルが開いている間に何も実行していない場合、カーソルを使用しても意味がありません。これは、PK 値がテーブルに存在する場合、PK による検索が単一の行を返すことが保証されているという事実に加えてです。

于 2009-12-03T06:49:29.050 に答える