Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL에서 너무 많은 행이 조회될 때? LIMIT으로 레코드 수 제한하는 방법

MySQL에서 쿼리 결과로 반환되는 행의 개수가 너무 많다면 LIMIT 절을 사용하면 됩니다. LIMIT는 지정한 개수만큼의 레코드만 가져오도록 제한하는 기능을 하며, 특히 대용량 테이블에서 페이징 처리를 할 때 매우 유용합니다.

1. 예제 테이블 생성

먼저 실습에 사용할 테이블을 생성해 보겠습니다.

mysql> create table DemoTable
(
    Id int,
    Name varchar(20)
);
Query OK, 0 rows affected (0.53 sec)

2. 샘플 데이터 삽입

INSERT 명령을 사용해 테이블에 레코드를 추가합니다.

mysql> insert into DemoTable values(10,'John');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable values(11,'Chris');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values(12,'David');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values(13,'Carol');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values(14,'Mike');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values(15,'Sam');
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable values(16,'Robert');
Query OK, 1 row affected (0.14 sec)

3. 전체 레코드 조회

SELECT 명령으로 테이블의 모든 레코드를 확인합니다.

mysql> select *from DemoTable;

실행 결과는 다음과 같습니다.

+------+--------+
| Id   | Name   |
+------+--------+
| 10   | John   |
| 11   | Chris  |
| 12   | David  |
| 13   | Carol  |
| 14   | Mike   |
| 15   | Sam    |
| 16   | Robert |
+------+--------+
7 rows in set (0.00 sec)

현재 총 7개의 행이 저장되어 있습니다.

4. LIMIT으로 행 수 제한하기

LIMIT는 두 가지 방식으로 사용할 수 있습니다.

  • LIMIT 숫자 : 처음부터 해당 숫자만큼의 행만 반환
  • LIMIT 오프셋, 개수 : 앞에서부터 오프셋만큼 건너뛴 후, 지정한 개수만큼의 행 반환

아래 쿼리는 LIMIT 2,4를 사용하여 첫 번째 2개의 행을 건너뛰고, 그다음 4개의 행만 반환합니다.

mysql> select *from DemoTable limit 2,4;

실행 결과는 다음과 같습니다.

+------+-------+
| Id   | Name  |
+------+-------+
| 12   | David |
| 13   | Carol |
| 14   | Mike  |
| 15   | Sam   |
+------+-------+
4 rows in set (0.00 sec)

정리

이처럼 MySQL의 LIMIT 절을 활용하면 조회되는 행의 개수를 손쉽게 제한할 수 있습니다. OFFSET과 함께 사용하면 원하는 위치부터 원하는 만큼만 데이터를 가져올 수 있어, 게시판 페이징이나 대량 데이터 조회 시 성능 최적화에 큰 도움이 됩니다.