• MySQL매뉴얼
    • MySQL 5.6 매뉴얼
    • MySQL 5.1 매뉴얼
    • MySQL 5.0 매뉴얼
    • MySQL HA 매뉴얼
  • 기술문서
    • Xtrabackup 구성
    • 메모리 사용량 모니터링
  • 라이선스
  • 온라인문의
  • 회사소개
  • → 목 록 (MySQL5.6 한글메뉴얼) [close]
  • 1. MySQL 5.6 새로운 기능
  • 2. MySQL 설치 및 업그레이드
  • 3. MySQL Tutorial
  • 4. MySQL 프로그램
  • 5. MySQL 서버관리
  • 6. 보안
  • 7. 백업 및 복구
  • 8. 최적화
  • 9. Language Structure(언어구조)
  • 10. Character Sets(Globalization)
  • 11. 데이터형(Data Types)
  • 12. 함수와 연산자
  • 13. SQL 문법
  • 14. InnoDB 스토리지 엔진
  • 15. 기타 스토리지 엔진
  • 16. 고가용성 및 확장성
  • 17. 리플리케이션
  • 18. MySQL Cluster
  • 19. 파티셔닝
  • 20. Stored Programs and Views
  • 21. INFORMATION_SCHEMA
  • 1. INFORMATION_SCHEMA CHARACTER_SETS Table
    2. INFORMATION_SCHEMA COLLATIONS Table
    3. INFORMATION_SCHEMA COLLATION_CHARACTER_SET_APPLICABILITY Table
    4. INFORMATION_SCHEMA COLUMNS Table
    5. INFORMATION_SCHEMA COLUMN_PRIVILEGES Table
    6. INFORMATION_SCHEMA ENGINES Table
    7. INFORMATION_SCHEMA EVENTS Table
    8. INFORMATION_SCHEMA GLOBAL_STATUS and SESSION_STATUS Tables
    9. INFORMATION_SCHEMA GLOBAL_VARIABLES and SESSION_VARIABLES Tables
    10. INFORMATION_SCHEMA KEY_COLUMN_USAGE Table
    11. INFORMATION_SCHEMA OPTIMIZER_TRACE Table
    12. INFORMATION_SCHEMA PARAMETERS Table
    13. INFORMATION_SCHEMA PARTITIONS Table
    14. INFORMATION_SCHEMA PLUGINS Table
    15. INFORMATION_SCHEMA PROCESSLIST Table
    16. INFORMATION_SCHEMA PROFILING Table
    17. INFORMATION_SCHEMA REFERENTIAL_CONSTRAINTS Table
    18. INFORMATION_SCHEMA ROUTINES Table
    19. INFORMATION_SCHEMA SCHEMATA Table
    20. INFORMATION_SCHEMA SCHEMA_PRIVILEGES Table
    21. INFORMATION_SCHEMA STATISTICS Table
    22. INFORMATION_SCHEMA TABLES Table
    23. INFORMATION_SCHEMA TABLESPACES Table
    24. INFORMATION_SCHEMA TABLE_CONSTRAINTS Table
    25. INFORMATION_SCHEMA TABLE_PRIVILEGES Table
    26. INFORMATION_SCHEMA TRIGGERS Table
    27. INFORMATION_SCHEMA USER_PRIVILEGES Table
    28. INFORMATION_SCHEMA VIEWS Table
    29. InnoDB의 INFORMATION_SCHEMA Table
    30. MySQL Cluster INFORMATION_SCHEMA Table
    1. INFORMATION_SCHEMA FILES Table
    2. INFORMATION_SCHEMA ndb_transid_mysql_connection_map Table
    31. Thread Pool INFORMATION_SCHEMA Tables
    32. Extensions to SHOW Statements
  • 22. PERFORMANCE SCHEMA
  • 23. 컨넥터 및 API
  • 24. MySQL 확장
  • 25. MySQL Enterprise Edition
  • 26. MySQL Workbench
  • 27. 제약 및 제한
  • 28. MySQL 5.7 새로운 기능

21.30.1 INFORMATION_SCHEMA FILES 테이블

FILES 테이블은 MySQL NDB 디스크 데이터 테이블이 저장되는 파일에 대한 정보를 제공합니다.

참고

이 테이블은 디스크 데이터 파일에 대한 정보만을 제공합니다. 각 NDB 테이블의 디스크 공간 할당 또는 가용성의 판단에 사용할 수 없습니다. 그러나 ndb_desc를 사용하여 데이터가 디스크에 저장된 NDB 테이블마다 얼마나 많은 공간이 할당되어 있는지와 함께 테이블에 대해 디스크 데이터 스토리지에 사용 가능한 공간이 얼마나 남아 있을지도 볼 수 있습니다. 자세한 내용은 섹션 18.4.10 "ndb_desc - NDB 테이블보기" 를 참조하십시오.

INFORMATION_SCHEMA NameSHOW NameRemarks
FILE_ID
MySQL extension
FILE_NAME
MySQL extension
FILE_TYPE
MySQL extension
TABLESPACE_NAME
MySQL extension
TABLE_CATALOG
MySQL extension
TABLE_SCHEMA
MySQL extension
TABLE_NAME
MySQL extension
LOGFILE_GROUP_NAME
MySQL extension
LOGFILE_GROUP_NUMBER
MySQL extension
ENGINE
MySQL extension
FULLTEXT_KEYS
MySQL extension
DELETED_ROWS
MySQL extension
UPDATE_COUNT
MySQL extension
FREE_EXTENTS
MySQL extension
TOTAL_EXTENTS
MySQL extension
EXTENT_SIZE
MySQL extension
INITIAL_SIZE
MySQL extension
MAXIMUM_SIZE
MySQL extension
AUTOEXTEND_SIZE
MySQL extension
CREATION_TIME
MySQL extension
LAST_UPDATE_TIME
MySQL extension
LAST_ACCESS_TIME
MySQL extension
RECOVER_TIME
MySQL extension
TRANSACTION_COUNTER
MySQL extension
VERSION
MySQL extension
ROW_FORMAT
MySQL extension
TABLE_ROWS
MySQL extension
AVG_ROW_LENGTH
MySQL extension
DATA_LENGTH
MySQL extension
MAX_DATA_LENGTH
MySQL extension
INDEX_LENGTH
MySQL extension
DATA_FREE
MySQL extension
CREATE_TIME
MySQL extension
UPDATE_TIME
MySQL extension
CHECK_TIME
MySQL extension
CHECKSUM
MySQL extension
STATUS
MySQL extension
EXTRA
MySQL extension

참고 :

  • FILE_ID 컬럼의 값은 자동으로 생성됩니다.

  • FILE_NAME 은 CREATE LOGFILE GROUP 또는 ALTER LOGFILE GROUP 에 의해 만들어진 UNDO 로그 파일의 이름 또는 CREATE TABLESPACE 또는 ALTER TABLESPACE 에 생성 된 데이터 파일의 이름입니다.

  • FILE_TYPE 은 UNDOFILE , DATAFILE 또는 TABLESPACE 의 값 중 하나입니다.

  • TABLESPACE_NAME 파일이 연관된 테이블 공간의 이름입니다.

  • 현재 TABLESPACE_CATALOG 컬럼의 값은 항상 NULL 입니다.

  • TABLE_NAME 관련 파일이 있으면 그 파일에 연결된 디스크 데이터 테이블의 이름입니다.

  • LOGFILE_GROUP_NAME 컬럼은 로그 파일이나 데이터 파일이 속한 로그 파일 그룹의 이름을 지정합니다.

  • UNDO 로그 파일은 LOGFILE_GROUP_NUMBER 로그 파일이 속한 로그 파일 그룹의 자동 생성 된 ID 번호가 포함됩니다.

  • MySQL Cluster 디스크 데이터의 로그 파일이나 데이터 파일에 대해 ENGINE 컬럼의 값은 항상 NDB 또는 NDBCLUSTER 됩니다.

  • MySQL Cluster 디스크 데이터의 로그 파일이나 데이터 파일은 FULLTEXT_KEYS 컬럼의 값은 항상 비어 있습니다.

  • FREE EXTENTS 컬럼은 아직 파일이 사용되지 않은 익스텐트의 수가 표시됩니다. TOTAL EXTENTS 열에는 파일에 할당 된 익스텐트의 수를 표시합니다.

    이 두 컬럼의 차이가 현재 파일에서 사용되는 범위 수 있습니다.

    SELECT TOTAL_EXTENTS - FREE_EXTENTS AS extents_used
        FROM INFORMATION_SCHEMA.FILES
        WHERE FILE_NAME = 'myfile.dat';
    

    이 차이와 EXTENT_SIZE 컬럼의 값 (바이트 단위로 파일 익스텐트의 크기를 지정합니다)를 곱하면 파일에 사용되는 디스크 용량을 추정 할 수 있습니다.

    SELECT (TOTAL_EXTENTS - FREE_EXTENTS) * EXTENT_SIZE AS bytes_used
        FROM INFORMATION_SCHEMA.FILES
        WHERE FILE_NAME = 'myfile.dat';
    

    마찬가지로 FREE_EXTENTS 과 EXTENT_SIZE 와를 곱하면 특정 파일에 사용할 수있는 나머지 공간을 예측할 수 있습니다.

    SELECT FREE_EXTENTS * EXTENT_SIZE AS bytes_free
        FROM INFORMATION_SCHEMA.FILES
        WHERE FILE_NAME = 'myfile.dat';
    
    중요

    위의 쿼리에서 생성 된 바이트 값은 추정에 지나지 않고, 그 정밀도는 EXTENT_SIZE 값에 반비례합니다. 즉, EXTENT_SIZE 가 커지면 추정의 정확도는 낮아집니다.

    범위가 일단 사용되면 익스텐트가 포함되어있는 데이터 파일을 삭제하지 않고 다시 해제 할 수 없습니다. 이렇게하면 디스크 데이터 테이블에서 삭제 디스크 공간을 확보하지 않을 수 있습니다.

    익스텐트 크기는 CREATE TABLESPACE 문에서 설정할 수 있습니다. 자세한 내용은 섹션 13.1.18 "CREATE TABLESPACE 구문" 을 참조하십시오.

  • INITIAL_SIZE 컬럼은 파일의 크기가 바이트로 표시됩니다. 이것은 파일의 작성에 사용 된 CREATE LOGFILE GROUP , ALTER LOGFILE GROUP , CREATE TABLESPACE 또는 ALTER TABLESPACE 문 INITIAL_SIZE 절에 사용 된 값과 동일합니다.

    MySQL Cluster 디스크 데이터 파일의 경우 MAXIMUM_SIZE 컬럼의 값은 항상 INITIAL_SIZE 과 같고, AUTOEXTEND_SIZE 열은 항상 비어 있습니다.

  • CREATION_TIME 컬럼에 파일이 생성 된 날짜와 시간이 표시됩니다. LAST_UPDATE_TIME 열에는 파일이 마지막으로 수정 된 날짜와 시간이 표시됩니다. LAST_ACCESSED 컬럼은 파일이 마지막으로 서버가 액세스 된 시간이 표시됩니다.

    현재는이 컬럼의 값은 운영 체제에서보고 된 것이며, NDB 스토리지 엔진에 의해 제공되는 것은 아닙니다. 운영 체제에서 값이 제공되지 않은 경우에는 이러한 열은 0000-00-00 00:00:00 이 표시됩니다.

  • MySQL 클러스터 디스크 데이터 파일은 RECOVER_TIME 및 TRANSACTION_COUNTER 컬럼은 항상 0 입니다.

  • MySQL Cluster 디스크 데이터 파일은 다음과 같은 열은 항상 NULL 입니다.

    • VERSION

    • ROW_FORMAT

    • TABLE_ROWS

    • AVG_ROW_LENGTH

    • DATA_LENGTH

    • MAX_DATA_LENGTH

    • INDEX_LENGTH

    • DATA_FREE

    • CREATE_TIME

    • UPDATE_TIME

    • CHECK_TIME

    • CHECKSUM

  • MySQL Cluster 디스크 데이터 파일은 STATUS 컬럼의 값은 항상 NORMAL 입니다.

  • MySQL Cluster 디스크 데이터 파일은 각 데이터 노드가 파일의 복사본을 가지고 있기 때문에 EXTRA 컬럼에 파일이 속한 데이터 노드가 표시됩니다. 4 개의 데이터 노드를 가진 MySQL Cluster에서 다음 문을 사용합니다.

    CREATE LOGFILE GROUP mygroup
        ADD UNDOFILE 'new_undo.dat'
        INITIAL_SIZE 2G
        ENGINE NDB;
    

    CREATE LOGFILE GROUP 문이 성공적으로 실행 한 뒤 다음 물품을 닮은, FILES 테이블에 대한이 쿼리의 결과가 표시됩니다.

    mysql> SELECT LOGFILE_GROUP_NAME, FILE_TYPE, EXTRA
        ->     FROM INFORMATION_SCHEMA.FILES
        ->     WHERE FILE_NAME = 'new_undo.dat';
    +--------------------+-------------+----------------+
    | LOGFILE_GROUP_NAME | FILE_TYPE   | EXTRA          |
    +--------------------+-------------+----------------+
    | mygroup            | UNDO FILE   | CLUSTER_NODE=3 |
    | mygroup            | UNDO FILE   | CLUSTER_NODE=4 |
    | mygroup            | UNDO FILE   | CLUSTER_NODE=5 |
    | mygroup            | UNDO FILE   | CLUSTER_NODE=6 |
    +--------------------+-------------+----------------+
    4 rows in set (0.01 sec)
    
  • FILES 테이블은 비표준 테이블입니다.

  • 로그 파일 그룹을 생성하면 추가 행이 FILES 테이블에 존재합니다. 이 행은 FILE_NAME 컬럼 값에 NULL 입니다. 이 행에 대해 FILE_ID 컬럼의 값은 항상 0 에서 FILE_TYPE 컬럼의 값은 항상 UNDO FILE 에서 STATUS 컬럼의 값은 항상 NORMAL 됩니다. 현재 ENGINE 컬럼의 값은 항상 NDBCLUSTER 입니다.

    이 행의 FREE_EXTENTS 컬럼은 이름과 번호가 각각 LOGFILE_GROUP_NAME 컬럼과 LOGFILE_GROUP_NUMBER 열에 표시되는 특정 로그 파일 그룹에 속하는 모든 Undo 파일에서 사용 가능한 여유 익스텐트의 총 개수가 표시됩니다.

    MySQL Cluster 기존 로그 파일 그룹이 존재하지 않고, 다음 문을 사용하여 로그 파일 그룹을 만들려고합니다.

    mysql> CREATE LOGFILE GROUP lg1
        ->   ADD UNDOFILE 'undofile.dat'
        ->   INITIAL_SIZE = 16M
        ->   UNDO_BUFFER_SIZE = 1M
        ->   ENGINE = NDB;
    Query OK, 0 rows affected (3.81 sec)
    

    FILES 테이블에 쿼리하면 NULL 행이 표시됩니다.

    mysql> SELECT DISTINCT
        ->   FILE_NAME AS File,
        ->   FREE_EXTENTS AS Free,
        ->   TOTAL_EXTENTS AS Total,
        ->   EXTENT_SIZE AS Size,
        ->   INITIAL_SIZE AS Initial
        ->   FROM INFORMATION_SCHEMA.FILES;
    +--------------+---------+---------+------+----------+
    | File         | Free    | Total   | Size | Initial  |
    +--------------+---------+---------+------+----------+
    | undofile.dat |    NULL | 4194304 |    4 | 16777216 |
    | NULL         | 4184068 |    NULL |    4 |     NULL |
    +--------------+---------+---------+------+----------+
    2 rows in set (0.01 sec)
    

    Undo 로깅에 사용할 수있는 여유 익스텐트의 수는 항상 Undo 파일의 유지에 필요한 오버 헤드를 위해 로그 파일 그룹 내의 모든 Undo 파일 TOTAL_EXTENTS 컬럼 값의 합계보다 다소 줄어 듭니다. 이것은 로그 파일 그룹에 두 번째 Undo 파일을 추가하기 때문에, FILES 테이블에 대해 위의 쿼리를 반복하면 볼 수 있습니다.

    mysql> ALTER LOGFILE GROUP lg1
        ->   ADD UNDOFILE 'undofile02.dat'
        ->   INITIAL_SIZE = 4M
        ->   ENGINE = NDB;
    Query OK, 0 rows affected (1.02 sec)
    
    mysql> SELECT DISTINCT
        ->   FILE_NAME AS File,
        ->   FREE_EXTENTS AS Free,
        ->   TOTAL_EXTENTS AS Total,
        ->   EXTENT_SIZE AS Size,
        ->   INITIAL_SIZE AS Initial
        ->   FROM INFORMATION_SCHEMA.FILES;
    +----------------+---------+---------+------+----------+
    | File           | Free    | Total   | Size | Initial  |
    +----------------+---------+---------+------+----------+
    | undofile.dat   |    NULL | 4194304 |    4 | 16777216 |
    | undofile02.dat |    NULL | 1048576 |    4 |  4194304 |
    | NULL           | 5223944 |    NULL |    4 |     NULL |
    +----------------+---------+---------+------+----------+
    3 rows in set (0.01 sec)
    

    이 로그 파일 그룹을 사용하여 디스크 데이터 테이블이 Undo 로깅에 사용 가능한 공간의 용량 (바이트 단위)은 여유 익스텐트의 수와 초기 크기와를 곱하면 대략적인 수 있습니다.

    mysql> SELECT
        ->   FREE_EXTENTS AS 'Free Extents',
        ->   FREE_EXTENTS * EXTENT_SIZE AS 'Free Bytes'
        ->   FROM INFORMATION_SCHEMA.FILES
        ->   WHERE LOGFILE_GROUP_NAME = 'lg1'
        ->   AND FILE_NAME IS NULL;
    +--------------+------------+
    | Free Extents | Free Bytes |
    +--------------+------------+
    |      5223944 |   20895776 |
    +--------------+------------+
    1 row in set (0.02 sec)
    

    MySQL Cluster 디스크 데이터 테이블을 만들고 여러 행을 삽입 한 경우, 예를 들어 다음 Undo 로깅에 사용 가능한 공간이 얼마나 남아 있는지를 대략적으로 확인할 수 있습니다.

        ->   ADD DATAFILE 'data1.dat'
        ->   USE LOGFILE GROUP lg1
        ->   INITIAL_SIZE 512M
        ->   ENGINE = NDB;
    Query OK, 0 rows affected (8.71 sec)
    
    mysql> CREATE TABLE dd (
        ->   c1 INT NOT NULL PRIMARY KEY,
        ->   c2 INT,
        ->   c3 DATE
        ->   )
        ->   TABLESPACE ts1 STORAGE DISK
        ->   ENGINE = NDB;
    Query OK, 0 rows affected (2.11 sec)
    
    mysql> INSERT INTO dd VALUES
        ->   (NULL, 1234567890, '2007-02-02'),
        ->   (NULL, 1126789005, '2007-02-03'),
        ->   (NULL, 1357924680, '2007-02-04'),
        ->   (NULL, 1642097531, '2007-02-05');
    Query OK, 4 rows affected (0.01 sec)
    
    mysql> SELECT
        ->   FREE_EXTENTS AS 'Free Extents',
        ->   FREE_EXTENTS * EXTENT_SIZE AS 'Free Bytes'
        ->   FROM INFORMATION_SCHEMA.FILES
        ->   WHERE LOGFILE_GROUP_NAME = 'lg1'
        ->   AND FILE_NAME IS NULL;
    +--------------+------------+
    | Free Extents | Free Bytes |
    +--------------+------------+
    |      5207565 |   20830260 |
    +--------------+------------+
    1 row in set (0.01 sec)
    
  • 데이터 파일을 테이블 스페이스와 연관되어 있는지 여부를 불문하고 MySQL Cluster 테이블 공간의 추가 행이 FILES 테이블에 존재합니다. 이 행은 FILE_NAME 컬럼 값에 NULL 입니다. 이 행에 대해 FILE_ID 컬럼의 값은 항상 0 에서 FILE_TYPE 컬럼의 값은 항상 TABLESPACE 에서 STATUS 컬럼의 값은 항상 NORMAL 됩니다. 현재 ENGINE 컬럼의 값은 항상 NDBCLUSTER 입니다.

  • FILES 테이블에 연결된 SHOW 문은 없습니다.

  • MySQL 디스크 데이터 객체 생성 및 삭제의 추가 정보와 예제는 섹션 18.5.12 "MySQL Cluster 디스크 데이터 테이블" 을 참조하십시오.

서울시 강남구 영동대로 602 6층
TEL: 02-6061-0006  /  E: csr@mysqlkorea.com
주식회사 이노클러스터  등록번호 : 727-86-02261
Copyright © innocluster Co. ltd. all rights reserved