저는 SQL 2008 을 제 컴퓨터에 설치하고 이것저것 공부하고 있는데요.
지난 세미나에서 2번째 세션에서 AD-HOC 쿼리와 프로시저의 차이를 <성능>창을 통해서 보여주셨는데요.
저는 프로그램을 만들지 않고
DECLARE @I INT
SET @I = 1
while( @I < 50000)
BEGIN
select * from orders where OrderID = @i
SET @I = @I + 1
END
이런식으로 돌려봤거든요.
그랬는데, 성능창에서 Batch Requests/sec, SqlCompilations/sec 이런 값들이 거의 변하지 않고요.
쿼리도 중간에 일괄 처리를 실행하는 동안 오류가 발생했습니다. 오류 메시지: 'System.OutOfMemoryException' 형식의 예외가 Throw되었습니다. 이런 오류 메시지와 함께 중단이 되었거든요. 그리고
하만철님은 그때 <프로그램>을 만들어가꾸 오셨던데~
프로그램을 만들어야 하는건가여? ㅋ
ㅠ.ㅠ 저도 저런 결과를 확인해보려면 어떻게 하면 좋을까요? ^^*
그리고 일괄 처리를 실행하는 동안 오류가 발생했습니다. 오류 메시지: 'System.OutOfMemoryException' 형식의 예외가 Throw되었습니다. 이런 오류가 뜨고, SSMS가 다운되어버렸어요.
왜 이런메시지가 뜨는걸까요? 궁금해서여. ㅠ. ㅠ
좋은하루되세요~
Comment 4
-
불타는불쥐
2009.12.21 12:33
-
참따뜻한
2009.12.21 14:11
프로그램을 만들어서 하니까 되네요.
그리고, 제가 쿼리를 같은 쿼리를 5만번을 돌려버려서~ 컴파일 횟수가 올라가질 않는거였어요. (바보바보) ㅋㅋ
암튼~ 그렇다구요. ^^
-
하만철
2009.12.21 15:45
ㅎㅎ~ 고생 많이 하셨네요.
또 다른 문제가 프로그램을 만들지 않으면 저장 프로시저의 재사용 부분 테스트 하실 때 잘 안되실 수 있습니다.
저장 프로시저 부분도 만드신 프로그램을 가지고 테스트 하시기 바랍니다. ^^
그럼 안되는게 있으면 언제든 글 올려 주시구요. 즐거운 하루 되세요~!
-
참따뜻한
2009.12.21 17:17
넹~ 잘됩니다. (나름) ㅎㅎ
버튼 세개 달린 win form 으로 만들었어요.~ 1. AD-HOC, 2. 저장프로시저~
VISUAL C# 밖에 없는 터라.. ~
감사합니다~


결과 값을 5만번이나 반복해서 결과창에 뿌려 줘서 그런듯 싶네요^^