select * from table 로 DB (MSSQL) 서버로부터 데이터 쿼리를 가져올 때
row가 2천줄이라면 실제 데이터를 하나하나씩 가져오게 되어있던데요
서버와 클라이언트 구성이 Up/Down 속도가 10메가의 라인을 쓴다고 하여도
실제로 쓰는 트래픽양은 50K 정도로 매우 낮습니다
일반 레이턴시(latency) 값이 낮은 네트웍(전용선이나 메트로, 로컬)에서는 그럭저럭 쓸만 해도
DSL 처럼 latency 가 높은 경우 전용선에 비해 느리게 느껴집니다
(보통 전용선은 10ms 이하이고, DSL 은 20~40 ms 적도 됩니다 )
예를들어 하나의 row를 받고 ack 신호 날리고 다시 하나의 row를 받고 ack
신호를 날리고... 이런식으로 하다 보니 데이터 출력하는 속도가 굉장히 느립니다
MSSQL 서버에서 결과를 하나의 row씩 전달하는게 아니라 select * from table에 맞는
결과를 모두 날려주는 방법이 없을까요?
google을 찾아보니 그와 관련된 내용이 transact sql 인거 같기도 하고..
클라이언트 프로그램을 수정할 수 있는 상황은 아니여서 DB서버에서 튜닝을 하여
이러한 방법을 해결할려고 합니다
MSSQL 에서 이런 셋팅을 할려면 어떻게....
조언 부탁드립니다
|