>  기사  >  데이터 베이스  >  mysql에서 .ibd는 어떤 파일입니까?

mysql에서 .ibd는 어떤 파일입니까?

青灯夜游
青灯夜游원래의
2023-04-04 15:29:519640검색

MySQL에서 ibd는 데이터 파일이자 인덱스 파일로 주로 데이터를 저장하는 데 사용되며 MySQL의 필수 부분입니다. MySQL IBD 파일은 MySQL 데이터베이스의 성능을 향상시킬 수 있으며 구조화되지 않은 대규모 데이터베이스에 매우 적합합니다. MySQL의 IBD 파일은 확장성이 뛰어나고 계층화된 데이터베이스 아키텍처 메커니즘에서 데이터 무결성을 보호할 수 있습니다. IBD 파일을 사용하면 데이터베이스 무결성에 영향을 주지 않고 데이터베이스를 효과적으로 확장할 수 있습니다.

mysql에서 .ibd는 어떤 파일입니까?

이 튜토리얼의 운영 환경: windows7 시스템, mysql8 버전, Dell G3 컴퓨터.

ibd는 MySQL의 데이터 파일이자 인덱스 파일이므로 직접 읽을 수 없습니다.

MySQL의 IBD 파일(mysqlibd)의 중요성

MySQL의 IBD 파일은 MySQL의 핵심 파일 중 하나로 주로 데이터를 저장하는 데 사용되며 MySQL의 필수적인 부분입니다. 여기서는 IBD 파일의 중요성에 대해 이야기합니다.

우선, MySQL IBD 파일은 MySQL 데이터베이스의 성능을 향상시킬 수 있습니다. 데이터를 저장하는 과정에서 IBD 파일을 사용하지 않을 경우 완전한 I/O 작업을 통해 데이터를 읽어야 하는데, 이는 데이터베이스의 부담이 많이 들고 성능이 저하됩니다. 그러나 IBD 파일을 사용하는 것은 다릅니다. 압축 알고리즘을 활용하여 파일 크기를 크게 줄여 읽기 쉽고 전송하기 쉽게 만들어 데이터베이스 성능과 전송성을 크게 향상시킵니다.

둘째, MySQL의 IBD 파일은 구조화되지 않은 대규모 데이터베이스에 매우 적합합니다. 구조화되지 않은 대규모 데이터를 저장할 때 일반 데이터베이스 파일 형식을 사용하면 데이터 유형을 충족하지 못하고 필드 식별이 불가능한 등의 문제가 발생하며 IBD 파일을 사용하면 이러한 문제를 효과적으로 해결할 수 있습니다.

마지막으로 MySQL의 IBD 파일은 확장성이 뛰어나고 데이터 무결성을 보호할 수 있습니다. 계층화된 데이터베이스 아키텍처 메커니즘에서 IBD 파일을 사용하면 데이터베이스 무결성에 영향을 주지 않고 데이터베이스를 효과적으로 확장할 수 있습니다. 또한 IBD 파일은 데이터 일관성을 효과적으로 지원하여 데이터 무결성과 보안을 보장할 수도 있습니다.

전반적으로 MySQL의 IBD 파일은 매우 중요하며 데이터베이스 성능을 향상하고 MySQL의 구조화되지 않은 대규모 데이터베이스를 재구성할 수 있습니다. 또한 대규모 데이터베이스로의 확장을 지원하고 데이터 무결성과 일관성을 유지할 수 있습니다.

MySQL ibd 파일 형식의 사전 분석

MySQL이 테이블을 생성한 후 해당 라이브러리 폴더에 2개의 파일이 생성됩니다. 하나는 frm이고 다른 하나는 ibd입니다. ibd 파일 형식을 간략하게 분석해 보겠습니다.

먼저 몇 가지 예비 지식을 알아야 합니다.

InnoDB 블록의 크기를 확인하세요. 일반적으로 16k

show vaiables like '%page%'

innodb_page_size가 16384바이트임을 알 수 있습니다.

ibd를 사용하여 바이트 크기를 나누어 파일에 몇 개의 블록이 있는지 알아보세요!

예:

98304/16384 이 gyj_t3.ibd에는 6페이지가 있음을 알 수 있습니다.

이 라이브러리의 해당 데이터는 다음과 같습니다.

공식 파일 다이어그램을 살펴보세요.

첫 번째 블록은 File Space Header

두 번째 블록은 Insert Buffer Bitmap

세 번째 블록은 File Segment inode

네 번째 블록부터 데이터가 저장되고 해당 ibd 파일 창문 밑에 두고 열어서 살펴보세요. 네 번째 블록인 데이터 블록을 직접 살펴보겠습니다. 헤더 식별자는 0x45B

이고 검색해 보겠습니다.

먼저 이것이 세 번째 블록의 끝인지 확인합니다.

C018h, 해당 십진수입니다. is 49176

첫 번째 블록의 위치:

는 0018h이며 이는 십진수 24에 해당합니다.

앞의 문자는 파일 헤더로, 파일의 형식과 기타 정보를 식별하는 데 사용됩니다.

이것이 세 번째 블록의 끝인지 계산해 보겠습니다. 위치는 (49176 - 24) / 16384 = 3이 딱 맞습니다.

이것이 데이터 비트입니다!

해당 데이터 파일을 보세요:

보시다시피 MySQL 데이터 세그먼트에서는 NULL과 ''가 공간을 차지하지 않습니다.

int의 길이는 4바이트이고, 다른 가변 길이 이름의 길이는 10바이트 중 더 긴 길이입니다.

데이터 ID의 두 번째 행: 80 00 00 03, 다음 행은 80 00 00 04

【관련 추천: mysql 비디오 튜토리얼

위 내용은 mysql에서 .ibd는 어떤 파일입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.