관계형 데이터베이스, RDBMS에서 데이터를 불러올 때 데이터의 크기와 시작점을 정하는 방법을 알아봅니다. 만약 테이블에서 불러올 데이터 크기를 줄여야한다면... 아니면 불러올 값의 시작점을 다르게해야한다면 어떻게할까요?
게시판을 예로 들면 게시글 총 수가 1,000개라면 전체를 한페이지에 출력하기 어려우므로 약 15개 또는 20개 정도의 글이 적당할 수 있죠. 즉 페이지네이션에 필요한 정보를 제공해야하는데 이때 쿠ㅏ리문에 설정하는 값을 알아보려합니다.
! 모두 불러온 후 클라이언트에서 처리할 수는 없는가물론 가능합니다. 다만 모든 글을 인덱스하여 가져와야하고 이를 함꺼번 처리하는 것도 부담이죠. 또 데이터베이스가 아닌 서버스크립트 언어 asp, jsp, .net에서도 처리 가능합니다. 하지만 쿼리문에서 불러올 개수를 정하는 것이 더 효과적인 방법일 것입니다.
일단, 쿼리문으로 불러올 데이터 개수를 정할 때는 LIMIT 키워드를 사용합니다. 이 LIMIT는 두 가지 옵션값을 설정 가능하죠.
1) LIMIT 10
; 반환되는 개수만 정하는 경우로 위의 경우 반환개수를 10개로 합니다.
2) LIMIT 0, 20
SELECT * FROM table_name WHERE site="rankingis.com" LIMIT 0, 20;
; 이렇게 두개의 숫자를 콤마를 사용하여 표기할 경우 앞의 숫자는 시작위치를 나타내고 다음의 숫자는 나타낼 데이터 개수를 말합니다. 즉, 20개의 데이터를 반환하되 0번째 부터 반환하게 됩니다.
게시판을 예로 들면 게시글 총 수가 1,000개라면 전체를 한페이지에 출력하기 어려우므로 약 15개 또는 20개 정도의 글이 적당할 수 있죠. 즉 페이지네이션에 필요한 정보를 제공해야하는데 이때 쿠ㅏ리문에 설정하는 값을 알아보려합니다.
! 모두 불러온 후 클라이언트에서 처리할 수는 없는가물론 가능합니다. 다만 모든 글을 인덱스하여 가져와야하고 이를 함꺼번 처리하는 것도 부담이죠. 또 데이터베이스가 아닌 서버스크립트 언어 asp, jsp, .net에서도 처리 가능합니다. 하지만 쿼리문에서 불러올 개수를 정하는 것이 더 효과적인 방법일 것입니다.
일단, 쿼리문으로 불러올 데이터 개수를 정할 때는 LIMIT 키워드를 사용합니다. 이 LIMIT는 두 가지 옵션값을 설정 가능하죠.
!! LIMT 예제보기
1) LIMIT 10
SELECT * FROM table_name WHERE site="webisfree.com" LIMIT 10;
; 반환되는 개수만 정하는 경우로 위의 경우 반환개수를 10개로 합니다.
2) LIMIT 0, 20
SELECT * FROM table_name WHERE site="rankingis.com" LIMIT 0, 20;
; 이렇게 두개의 숫자를 콤마를 사용하여 표기할 경우 앞의 숫자는 시작위치를 나타내고 다음의 숫자는 나타낼 데이터 개수를 말합니다. 즉, 20개의 데이터를 반환하되 0번째 부터 반환하게 됩니다.
Author ByEnSSo
네. 도움이 되었어요
아니요. 별로에요