2013-06-05 4 views
1

Oracle 양식을 asp.net 페이지로 다시 엔지니어링합니다.저장 프로 시저를 사용하여 확인하는 것이 더 좋으며 asp.net에서 명령을 선택하십시오.

내 질문에 저장 프로 시저를 사용하고 커서를 실행하거나 OracleAdapter select 명령으로 데이터 반입을 사용하면 어떤 차이가 있습니까?

해결 방법 1 :

call a cursor in backend (stored procedure) 

해결 방법 2 :보기 모두 내 관점에서 잘

write select command 

OracleAdaptor oap = new OracleAdaptor(); 
oap.selectCommand = new OracleCommand(); 
oap.SelectCommand.CommandText = "Select v_name from table1 where v_name="+textbox1.text; 
oap.SelectCommand.CommandType = CommandType.Text; 

가 선택 명령입니다 당신이 나에게 도움이 될 것이다? 나는 그들 중 하나를 선택하고 싶다.

중 어느 것이 더 빠릅니다.이 더 권장됩니까?

My Oracle 데이터베이스는 9i입니다.

+2

유스 케이스를 찾아내는 유일한 방법은 벤치마킹입니다. 몇 번이나 반복하면 (말은 백만) 정확한 숫자를 얻을 수 있습니다. – mvp

+0

누구나 실용적인 연습을하거나 어디에서 읽을 수 있습니까? 오라클 양식에서 선택 명령 대신에 cursur를 사용하는 것이 좋지만 asp.net 페이지에서 select 명령을 작성하고 데이터를 가져 오는 데 사용한 ASP.net experiance를 기반으로하면 작업이 올바른지 또는 커서를 사용해야 하는지를 알고 싶습니다. . – Amir

+1

저장 프로 시저를 사용하여 데이터베이스에 대한 쿼리 실행 계획을 캐시하므로 대부분의 경우 연속 실행에서 저장 프로 시저를 사용하면 Asp.net 페이지에서 직접 명령을 사용하는 것보다 낫습니다. –

답변

1

Stopwatch 클래스를 사용할 수 있습니다.

명령이나 저장 프로 시저를 실행하기 전에 스톱워치를 시작할 수 있습니다.

실행 후 중지하십시오.

이것은 실행을 위해 요청한 시간을 반환합니다.

Try 
{ 
    // Create new stopwatch 
    Stopwatch stopwatch = new Stopwatch(); 

    // Begin timing 
    stopwatch.Start(); 

    //command execution 

    stopwatch.Stop(); 

    Console.WriteLine("Time elapsed: {0}", 
    stopwatch.Elapsed); 

} 

희망 사항.

+0

팁 주셔서 감사합니다, 당신의 대답은 속도 관점에서 유용하지만 내 질문은 또한 커서의 기능에 대해서도 있습니다. 왜냐하면 우리가 커서 대신 select 명령을 사용하면 언젠가 오류가 발생하기 때문입니다. – Amir

+1

질문 헤더와 내용이 많이 다릅니다. – Freelancer

+0

수정 됨/... – Amir