저희 게임 서버의 대부분의 프로시저들을 보면
select , delete, update 관련 된 sp를 서버에서 호출을 할 때에
필요없는 인숫 파라메타까지도 포함해서 sp를 콜하고 있는데요.
예를 들어 select 하는 sp를 콜 했을 때에
select a,b,c from tbl_test with(nolock)
where a = @a
실제 필요한 인풋 파라메타는 @a만 있으면 되는걸
@a, @b, @c, ,,식으로 불필요한 파라메타까지도 같이 날려 sp 콜을 하고 있습니다.
거의 대부분의 프로시저가 이렇습니다.
이러면 게임 서버와 DB간에 쓸데없이 부하만 걸리는거 아닐까 하는데요....
네트웍 부하,,,패킷 부하...등등
이와 관련해서 측정해볼 수 있는 추적이나... 그런거 없을까요??
Comment 1
-
건우아빠
2013.10.08 14:42
파라멘트를 default 처리를 하시면 굳이 전체 파라멘트를 날리지 않으셔도 됩니다.
sp....
(
@ a = '%' ,
@b = '%' ,
@c = '%'
)
exec sp --> @a = '%' ,@b = '%' ,@c = '%' default 처리 됩니다.
exec sp @a = '1' , @c = '2' --> @b = '%' default 처리 됩니다.
불필요한 파라멘트를 보낸다고 부하가가 얼마나 걸릴지는 의문이지만
default 처리를 하시면 굳이 파라멘트를 보내지 않아도 되기는 합니다.