MySQL 개발팀은 MySQL 8.0.0 개발 마일스톤 릴리스(DMR) 출시를 발표했습니다! 그 후 어떤 사람들은 왜 MySQL이 5.x에서 8.0으로 올라갔는지 궁금해할 것입니다. 실제로 MySQL 5.x 시리즈는 오라클에 인수되기 전 5.1부터 시작하여 수년간 5.5, 5.6, 5.7 등 인수 이후에도 5.x로 남아있습니다. 실제로 원래의 릴리스 리듬을 따르면 5.6.x는 6.x, 5.7.x는 7.x라고 생각하면 됩니다. 따라서 버전 이름 지정 방법을 변경했습니다.
MySQL은 많은 웹 사이트 기술 스택의 표준 구성으로, 인기 있는 오픈 소스 데이터베이스이며 8.0의 첫 번째 릴리스 후보 버전을 출시했습니다.
MySQL 8.0의 새로운 기능은 다음과 같습니다.
기본적으로 유니코드 9.0에 대한 전체 지원
과거에는 이러한 쿼리를 작성하는 것이 불가능했거나 어려웠던 창 함수 및 재귀 SQL 구문 지원
예 네이티브에 대한 향상된 지원 JSON 데이터 및 문서 저장
MySQL 8.0 릴리스에서는 여러 버전 번호(5.5부터 시작)를 건너뛰었습니다. 6.0 수정 및 7.0은 MySQL의 클러스터 버전을 유지하는 데 사용되었으므로 8.0이 버전 번호를 채택했습니다.
MySQL 8.0의 예상 출시일
MySQL의 정책 "새 [일반] 버전의 출시 주기는 18~24개월"에 따라 MySQL은 MySQL 8.0의 출시일을 약속하지 않았습니다. MySQL 5.7의 마지막 릴리스는 2015년 10월 21일에 출시되었으므로 MySQL 8.0의 공식 버전은 2017년 10월에 출시될 수 있습니다.
MySQL 8.0의 유니코드 표준화 과정
유니코드에 대한 기본 지원은 MySql 8.0의 가장 큰 변화 중 하나라고 할 수 있습니다. 오랫동안 MySQL에는 유니코드와 관련하여 해결되지 않은 많은 문제가 있었습니다. 따라서 MySQL 8.0의 장기 계획은 현재 진행 중인 유니코드 문제를 최대한 많이 수정하는 것입니다.
MySQL 8.0은 새로운 사용자가 이 문제가 있는 레거시 옵션을 사용하는 것을 방지하기 위해 더 이상 latin1을 기본 인코딩으로 설정하지 않습니다. utf8mb4는 이제 MySQL 8.0의 기본 문자 집합으로 권장됩니다. 이는 현재 더 이상 사용되지 않는 utf8mb3 문자 집합보다 빠르면서도 보다 유연한 정렬 및 대소문자 구분을 가능하게 하기 위한 것입니다.
향상된 유니코드는 비서구 문자 집합을 지원할 뿐만 아니라 점점 늘어나는 이모티콘 표현도 지원합니다.
MySQL 8.0은 창 함수를 지원합니다.
다양한 SQL 언어 표준 구현(예: Oracle, 번역자 메모)은 여러 행에 걸쳐 집계 계산을 구현할 수 있으면서도 쿼리에서 개별 데이터에 계속 액세스할 수 있는 함수인 창 함수를 지원합니다. 이전 MySQL 버전에서는 윈도우 기능을 사용하지 않고도 이를 수행할 수 있었지만 번거롭고 속도가 느렸습니다. 이러한 단점을 극복하기 위해 MySQL 8.0은 표준 SQL 키워드 OVER를 통해 윈도우 함수의 기능을 구현하는데, 이는 경쟁사인 PostgreSQL의 구현 방식과 다소 유사하다.
또한 또 다른 기능은 재귀 공통 테이블 표현식으로, 이를 통해 커서나 기타 성능 저하 해결 방법을 사용하지 않고도 하위 쿼리에 대해 재귀 작업을 수행할 수 있습니다.
MySQL 8.0은 문서 데이터베이스와 JSON을 더 잘 지원합니다.
MySQL 5.7은 JSON을 지원하므로 MySQL은 기본 JSON을 사용하여 NoSQL 데이터베이스와 경쟁할 수 있습니다. MySQL 8.0은 JSON에 대한 지원을 확장하고 더 나은 성능을 제공하여 JSON 쿼리에서 범위를 반환하는 기능(SQL 문의 "상위 n" 함수와 유사)을 추가하고 동일한 쿼리에서 사용할 수 있는 새로운 집계 함수를 추가했습니다. . 명령문에서는 MySQL 기본 구조화된 데이터와 JSON 반구조화된 데이터를 결합할 수 있습니다.
또 다른 JSON 관련 개선 사항에는 MySQL용 문서 저장이 포함됩니다. MySQL 문서 저장소에 대한 읽기 및 쓰기는 트랜잭션 측면에서 일관되므로 JSON 데이터에 대한 변경 사항을 롤백할 수 있습니다. 문서 데이터는 지리공간 데이터용 개방형 GeoJSON 형식으로 저장되며 인덱싱이 가능하여 지시된 방식으로 검색할 수 있습니다.
MySQL 8.0의 기타 주요 기능
MySQL 8.0 업데이트에 계획된 기타 기능은 다음과 같습니다.
SKIP LOCKED 및 NOWAIT 옵션과 같은 행 잠금을 위한 추가 옵션이 추가되었습니다. 그 중
SKIP LOCKED를 사용하면 무시해야 하는 행이 작업 중에 잠기지 않도록 할 수 있으며, NOWAIT는 행이 잠길 때 즉시 오류를 발생시킵니다.
MySQL은 사용 가능한 총 메모리 양에 따라 확장 및 축소하여 가상 머신 배포를 더 잘 활용할 수 있습니다.
쿼리 최적화 프로그램에서 인덱스를 숨길 수 있도록 "숨겨진 인덱스" 기능을 추가했습니다. 사용할 수 없는 것으로 표시된 인덱스는 테이블 데이터 변경 사항과 동기화되지만 최적화 프로그램에서는 이를 사용하지 않습니다. 숨겨진 인덱스 사용에 대한 제안은 인덱스를 유지해야 하는지 여부가 결정되지 않은 경우 사용할 수 있다는 것입니다.
이제 Windows, MacOS, 여러 버전의 Linux, FreeBSD 및 Solaris용 MySQL 8.0을 다운로드할 수 있으며 소스 코드도 다운로드할 수 있습니다. 공식 홈페이지 다운로드 페이지에서 개발자 후보 버전을 방문해 다운로드할 수 있다.
위 내용은 MySQL 버전 8.0의 새로운 기능에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!