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

MySQL에서 테이블의 평균 행 길이(AVG_ROW_LENGTH) 조회하는 방법

MySQL에서 특정 테이블의 평균 행 길이를 확인하고 싶다면 INFORMATION_SCHEMA.TABLES 뷰의 AVG_ROW_LENGTH 컬럼을 활용하면 됩니다. 이 값은 데이터 파일 크기를 행 수로 나눈 평균값으로, 테이블 저장 공간을 분석하거나 성능을 최적화할 때 유용하게 사용됩니다.

기본 쿼리 문법

평균 행 길이를 조회하는 기본 문법은 다음과 같습니다.

SELECT AVG_ROW_LENGTH FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = '테이블명';

실습 예제

먼저 예제로 사용할 테이블을 생성해 보겠습니다.

mysql> create table DemoTable
(
    StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    StudentName varchar(100)
);
Query OK, 0 rows affected (0.90 sec)

INSERT 명령어를 사용해 테이블에 레코드를 삽입합니다.

mysql> insert into DemoTable(StudentName) values('John');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable(StudentName) values('Larry');
Query OK, 1 row affected (0.21 sec)
mysql> insert into DemoTable(StudentName) values('Sam');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable(StudentName) values('Mike');
Query OK, 1 row affected (0.15 sec)

SELECT 명령어로 테이블에 저장된 레코드를 확인합니다.

mysql> select *from DemoTable;

위 쿼리는 다음과 같은 결과를 출력합니다.

+-----------+-------------+
| StudentId | StudentName |
+-----------+-------------+
| 1         | John        |
| 2         | Larry       |
| 3         | Sam         |
| 4         | Mike        |
+-----------+-------------+
4 rows in set (0.00 sec)

평균 행 길이 조회하기

이제 information_schema.tables를 조회하여 DemoTable의 평균 행 길이를 확인해 보겠습니다.

mysql> SELECT AVG_ROW_LENGTH FROM information_schema.tables WHERE TABLE_NAME = 'DemoTable';

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

+----------------+
| AVG_ROW_LENGTH |
+----------------+
| 4096           |
+----------------+
1 row in set (0.11 sec)

참고 사항

AVG_ROW_LENGTH 값은 InnoDB 페이지 구조의 특성상 실제 데이터 크기보다 클 수 있습니다. 또한 여러 데이터베이스에 동일한 이름의 테이블이 존재할 수 있으므로, 정확한 조회를 위해서는 TABLE_SCHEMA 조건을 함께 추가하는 것이 좋습니다.

SELECT AVG_ROW_LENGTH 
FROM INFORMATION_SCHEMA.TABLES 
WHERE TABLE_SCHEMA = '데이터베이스명' AND TABLE_NAME = '테이블명';

이렇게 하면 원하는 데이터베이스의 테이블 정보만 정확하게 필터링하여 평균 행 길이를 확인할 수 있습니다.