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. 执行 SQL 打开光标
  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 回答