database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 1991 게시물 읽기
No. 1991
튜닝 위한 select 에 대한 내부 구현 ?
작성자
지피엘
작성일
2005-05-30 13:05
조회수
2,123

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 에서 이런 셋팅을 할려면 어떻게....

조언 부탁드립니다

 

이 글에 대한 댓글이 총 1건 있습니다.

잘 이해가 안가는데 recordset 으로 받아와서 move.next 하는거

아닌가요?

 

adhoc 쿼리도 그렇고 저장 프로시져를 사용해로 레코드셋으로 받아 오는 것으로 아는데 질문의 의미를 이해하지 못하겠습니다.

 

그리고 하나의 튜플씩 받아오는 것이 아니라 한개의 page 당으로

받아옵니다. 하나의 페이지는 8k

 

튜플이 100개라도 어트리뷰트가 작고 해서 8k 미만이라면

한번에 받아오고 실제 쿼리에서 날리면,

 

asp 같은 것은 레코드셋으로

반환 하는 걸로 아는데,

 

혹시 파이프로 연결해서 받고 싶다 이말을 이리 어렵게 설명하신건

아닌지 tcp 연결이 3 핸드 쉐이크니, 파이프로 받아 속도 향상을 보겠다는 말씀이신지....파이프 연결에 대한건 조금만 찾아 보시면 있습니다.

 

석이님이 2005-05-31 01:09에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
1994겹치는 데이터 삭제...제목이 딱없네요.한번만 봐주세요 [9]
초보자
2005-05-30
3261
1993synonym 생성하기 [4]
조용주
2005-05-30
2578
1992없는 월을 레코드로 받으려고 할때 [3]
감사
2005-05-30
1558
1991튜닝 위한 select 에 대한 내부 구현 ? [1]
지피엘
2005-05-30
2123
1990특징좀 간단히 설명좀 해주세요. [1]
학생
2005-05-30
1491
1989mssql.lib에러인데요.. [2]
김지민
2005-05-27
1777
1988foreign key 가 꼭필요한 건가요? [7]
류풍산
2005-05-26
15366
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.027초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다