가장 큰 변화는 MYSQL 8의 MYSQL 5.7에 비해 데이터 사전의 원자성이 보장되었다는 점입니다. 데이터 테이블에 대해 DDL 작업을 수행할 때마다 더 이상 FRM 및 Idb 파일에 의존할 수 없기 때문에 항상 당황스러운 느낌이 듭니다. 이러한 변경 사항 중 "직렬화된 사전 정보"라는 중요한 변경 사항이 있습니다.
MYSQL 5 이전. 아래 FRM 파일을 읽고 테이블의 구조를 표시해 보세요. MYSQL 8에는 더 이상 그런 기능이 없으며 도구 세트는 실제로 오랫동안 오프라인 상태였으므로 MYSQL 8에서는 데이터 형식 파일을 읽는 새로운 방법을 도입했습니다.
이 도구는 ibd2sdi입니다
ibd2sdi를 사용하면 시스템 시작 시 데이터의 테이블 구조를 읽고 json 형식으로 출력할 수 있습니다.
사전 테이블은 MYSQL 8에서 볼 수 없습니다. 이를 보려면 MYSQL 컴파일 시 디버그 매개변수를 추가해야 하며, 데이터를 보려면 특수 명령을 실행해야 합니다.
이 작업을 수행하는 이유는 원래 MYSQL 5.x 사전 테이블이 확장하기 어렵고 일관성이 없기 때문입니다. MYSQL8은 이 문제를 변경하고 데이터 사전을 SDI 및 JSON에 저장합니다.
처음에는 도구를 통해 SDI의 정보를 보았지만 SDI가 정확히 무엇을 가져오는 걸까요? 1 DDL 작업 수행 시 비트랜잭션 저장소로 인한 불일치
2 DDL 작업 실패 시 안전한 충돌
3 다음과 같은 어려운 문제를 피하세요. DDL이 Atomic이 아니기 때문에 복사
4 테이블 구조 확장이 어려운 문제
5 SDI 캐시 추가 및 메타데이터 캐시 추가로 데이터 쿼리 가속화 LRU 방식을 사용하여 관련 CACHE
동시에 관리합니다. , 그렇게 하면 단점이 있습니다. 즉, DDL에서는 직접 작성하는 대신 Storage, Undo Log, Redo Log를 다시 작성해야 하기 때문에 시간이 더 걸릴 수 있습니다. frm 파일이 여기에 있습니다위 내용은 MYSQL8의 새로운 기능은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!