가장 큰 변화는 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 파일이 여기에 있습니다 위 사진도 새로 8.0에서는 테이블의 상태를 직접 읽어오는 기능이 추가되었으나, mysql 8.014 이후 버전에서는 테이블의 상태를 읽어오기 위해 위의 파라미터가 추가되었으며, 캐시를 새로 고치는 기능도 추가되었습니다. 챌린지 만료 시간을 통과하거나 테이블을 분석할 수 있습니다.위 내용은 MYSQL8의 새로운 기능은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!