在調用返回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 - 更新了我的答案。 –