본문 바로가기
컴퓨터관련/MS-SQL

[MS-SQL]ROWCOUNT와 TOP

by 빛과 어둠사이 2019. 6. 21.
728x90
반응형
SMALL

DB처리를 하다보면 특정 레코드만큼만 처리를 하거나

데이터를 추출해야 하는 경우가 있습니다.


이 때 쓸 수 있는 방법이 TOP과 ROWCOUNT가 있습니다.

해당 건들에 대해서 정리를 해보고

차이점도 정리해보고자 합니다.



1. ROWCOUNT란?

쿼리를 특정 라인수 만큼만 처리하도록 설정을 하는 것입니다.

이것은 별도로 초기화를 하지 않으면

계속해서 유지가 됩니다.

SELECT, UPDATE, DELETE 등 여러 쿼리에서 사용이 가능합니다.


2. ROWCOUNT 사용법

사용법은 다음과 같습니다.

SET ROWCOUNT 레코드


위 쿼리를 이용해서 실제로 쿼리를 돌렸습니다.

SET ROWCOUNT 3
SELECT * FROM testDB

위처럼 돌렸더니 결과는 아래처럼 나왔습니다.



초기화를 하는 방법은 레코드수를 0으로 하면 됩니다.

아래는 초기화 하고 다시 조회를 해 본 것입니다.

SET ROWCOUNT 0
SELECT * FROM testDB

위처럼 했더니 결과는 아래처럼 나왔습니다.



3. TOP N

TOP 명령을 통해서도 할 수 있습니다.

예제 쿼리는 다음과 같습니다.

SELECT TOP 3 * FROM testDB

위처럼 쿼리를 작성하여 돌렸더니 결과는 다음과 같이 나왔습니다.



4. ROWCOUTN와 TOP의 차이점

제가 경험한 바로는 SELECT 할 때는 ROWCOUNT와 TOP의 차이점을 모르겠습니다.

다만, ROWCOUNT는 UPDATE, DELETE 등에서도 사용이 가능합니다.

이런 점이 차이가 있습니다.

1만건 이상 UPDATE를 해야 한다거나 할 때,

ROWCOUNT를 10000으로 설정을 한다면

자동으로 1만건씩만 처리가 됩니다.


그리고 또 다른 차이점은 TOP는 해당 쿼리에서만 유지가 됩니다.

하지만, ROWCOUNT의 경우에는 세션이 끊기거나

리셋을 하지 않으면 계속해서 유지가 됩니다.






이상으로 SQL SERVER에서 ROWCOUNT와 TOP의 차이점 및 사용방법이였습니다~



728x90
반응형
LIST

'컴퓨터관련 > MS-SQL' 카테고리의 다른 글

[MS-SQL]테이블 정보 보기 및 쿼리 추출하기  (0) 2019.07.01
[MS-SQL]데이터 형식  (0) 2019.06.26
[MS-SQL]커서 설명 및 사용방  (0) 2019.06.20
[MS-SQL]DB 복원하기  (0) 2019.06.14
[MS-SQL]DB 백업하기  (0) 2019.06.12