在调用返回SYS_RECURSOR
或调用查询的过程时是否有任何性能改进?从数据库表中获取结果的更好选择
例如
CREATE OR REPLACE PROCEDURE my_proc
(
p_id number,
emp_cursor IN OUT SYS_REFCURSOR
)
AS
BEGIN
OPEN emp_cursor for
select * from emp where emp_number=p_id
end;
/
和通过注册OUT
参数调用从Java
以上,通过IN
参数和获取结果。
或者
从Java
通过
preparedStatement = prepareStatement(connection, "select * from emp where emp_number=?", values);
resultSet = preparedStatement.executeQuery();
哪一个上面是一个更好的选择,从Java
调用get从emp
table
的结果?
从维护和其他角度来看,我认为这是一个好主意,保持存储过程中的查询。 'prepareStatement方法的意思是使用适合所有绑定变量的类型'。能够多解释一下吗?谢谢 – user75ponic
@Polappan - 更新了我的答案。 –