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

MySQL 테이블의 행 수를 가장 빠르게 계산하는 방법

MySQL에서 테이블의 전체 행 수를 빠르게 확인하는 방법을 알아보기 위해, 먼저 예제 테이블을 만들고 데이터를 삽입한 뒤 조회하는 과정까지 살펴보겠습니다.

1. 테이블 생성하기

테이블을 새로 만들 때는 CREATE 명령어를 사용합니다.

mysql> CREATE table RowCountDemo
-> (
-> ID int,
-> Name varchar(100)
-> );
Query OK, 0 rows affected (0.95 sec)

2. 레코드 삽입하기

생성한 테이블에 INSERT 명령어로 레코드를 추가합니다.

mysql> INSERT into RowCountDemo values(1,'Larry');
Query OK, 1 row affected (0.15 sec)

mysql> INSERT into RowCountDemo values(2,'John');
Query OK, 1 row affected (0.13 sec)

mysql> INSERT into RowCountDemo values(3,'Bela');
Query OK, 1 row affected (0.15 sec)

mysql> INSERT into RowCountDemo values(4,'Jack');
Query OK, 1 row affected (0.11 sec)

mysql> INSERT into RowCountDemo values(5,'Eric');
Query OK, 1 row affected (0.19 sec)

mysql> INSERT into RowCountDemo values(6,'Rami');
Query OK, 1 row affected (0.49 sec)

mysql> INSERT into RowCountDemo values(7,'Sam');
Query OK, 1 row affected (0.14 sec)

mysql> INSERT into RowCountDemo values(8,'Maike');
Query OK, 1 row affected (0.77 sec)

mysql> INSERT into RowCountDemo values(9,'Rocio');
Query OK, 1 row affected (0.13 sec)

mysql> INSERT into RowCountDemo values(10,'Gavin');
Query OK, 1 row affected (0.19 sec)

3. 저장된 레코드 조회하기

SELECT 문으로 테이블에 저장된 전체 레코드를 확인할 수 있습니다.

mysql> SELECT * FROM RowCountDemo;

위 쿼리를 실행하면 다음과 같은 결과가 출력됩니다.

+------+-------+
| ID   | Name  |
+------+-------+
| 1    | Larry |
| 2    | John  |
| 3    | Bela  |
| 4    | Jack  |
| 5    | Eric  |
| 6    | Rami  |
| 7    | Sam   |
| 8    | Maike |
| 9    | Rocio |
| 10   | Gavin |
+------+-------+
10 rows in set (0.00 sec)

행 수를 빠르게 세는 두 가지 방법

테이블의 행 개수를 빠른 속도로 집계하려면 아래 두 가지 쿼리를 활용할 수 있습니다.

방법 1: COUNT(*) 사용

가장 널리 쓰이는 방식으로, COUNT(*)는 테이블의 모든 행을 대상으로 개수를 반환합니다.

mysql> SELECT count(*) FROM RowCountDemo;

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

+----------+
| count(*) |
+----------+
| 10       |
+----------+
1 row in set (0.00 sec)

방법 2: COUNT(FOUND_ROWS()) 사용

FOUND_ROWS() 함수를 활용하는 방식으로, 이 역시 동일하게 전체 행 수를 반환합니다.

mysql> SELECT count(found_rows()) FROM RowCountDemo;

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

+---------------------+
| count(found_rows()) |
+---------------------+
| 10                  |
+---------------------+
1 row in set (0.00 sec)

두 쿼리 모두 동일한 결과인 10을 반환하며, 실행 시간 역시 거의 차이가 없습니다. 일반적으로는 가독성과 호환성이 좋은 COUNT(*)를 사용하는 것이 권장됩니다.