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:
- EXEC SQL DECLARE aCursor CURSOR FOR select col1, col2 into :var1, :var2 from T where开发者_JAVA技巧 PK = a;
- EXEC SQL OPEN aCursor
- 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.
精彩评论