开发者

SQL query comparision in ProC with and without using cursor

开发者 https://www.devze.com 2022-12-12 23:23 出处:网络
Which, query performance wise, is more effective? Considering T is a table, and PK is the primary key in the table T. Are they different or they are just a matter of choice?

Which, query performance wise, is more effective?

Considering T is a table, and PK is the primary key in the table T. Are they different or they are just a matter of choice?

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

...or:

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

I think declaring a cursor to fetch a single row from a table based on primary key make less sense if the single row could be retrieved directly instead?


If you are only fecthing a single row, i would NOT use a cursor, that seems like over kill


SELECT INTO will always be faster than using a cursor.

If you aren't performing anything while the cursor is open, there's no point to using the cursor at all. That's besides the fact that searching by the PK is guaranteed to return a single row, providing the PK value exists in the table.

0

精彩评论

暂无评论...
验证码 换一张
取 消