이 글에서는 Mysql8과 mysql5.7의 차이점을 소개하겠습니다. 도움이 필요한 친구들이 모두 참고할 수 있기를 바랍니다.
Mysql은 5.7 버전부터 NoSQL 저장소 기능을 제공하고 있습니다. 이 부분은 8.0에서 수정되었으나 실제로는 거의 사용되지 않는 부분입니다
인덱스를 숨기는 구문
ALTER TABLE t ALTER INDEX i INVISIBLE;
인덱스 표시를 복원하는 구문은 다음과 같습니다.
ALTER TABLE t ALTER INDEX i VISIBLE;인덱스가 숨겨지면 show index 명령의 출력 요약에서 표시되는 속성 값을 볼 수 있습니다. the index is No** 참고: **인덱스가 숨겨지면 해당 내용은 일반 인덱스처럼 실시간으로 업데이트됩니다. 이 기능 자체는 인덱스를 오랫동안 숨기는 경우 특히 최적화 및 디버깅에 사용됩니다. 시간이 지나면 데이터에 영향을 미치는 삽입, 업데이트 및 삭제 기능이 있기 때문에 종료할 수도 있습니다3. 지속성 설정MySQL 설정은 SET GLOBAL 명령을 통해 런타임에 변경할 수 있지만 이 변경 사항은 일시적으로 적용되며 다음에 구성 파일을 읽을 때 데이터베이스가 재설정됩니다. MySQL 8에는 SET PERSIST 명령이 추가되었습니다. 예:
SET PERSIST max_connections = 500;MySQL은 이 명령의 구성을 데이터 디렉터리의 mysqld-auto.cnf 파일에 저장하고 다음에 시작할 때 파일을 읽습니다. 기본 구성 파일을 재정의하는 구성입니다. 4.UTF-8 인코딩MySQL 8부터 데이터베이스의 기본 인코딩이 모든 이모티콘 문자를 포함하는 utf8mb4로 변경됩니다. 수년 동안 우리는 MySQL을 사용할 때 기본 라틴어를 변경하는 것을 잊어버리고 잘못된 코드 문제가 발생할 것을 두려워하여 코딩에 주의를 기울였습니다. 이제부터는 더 이상 걱정하지 마세요. 5. 공통 테이블 표현식복잡한 쿼리는 포함된 테이블을 사용합니다. 예:
SELECT t1.*, t2.* FROM (SELECT col1 FROM table1) t1, (SELECT col2 FROM table2) t2;
WITH t1 AS (SELECT col1 FROM table1), t2 AS (SELECT col2 FROM table2) SELECT t1.*, t2.* FROM t1, t2;이렇게 하면 더 계층적이고 지역적으로 보입니다. 더 명확하고 알기 쉽습니다. 변경 시 어떤 부분을 변경해야 하는지. 이 기능은 많은 보고 시나리오에서 매우 유용하며 mysql 최적화의 매우 중요한 기능이기도 합니다. 1.235 창 함수MySQL의 가장 비판적인 기능 중 하나는 순위() 함수가 없다는 것입니다. 쿼리에서 순위를 지정해야 하는 경우 @ 변수를 직접 작성해야 합니다. 그러나 8.0부터 MySQL에는 여러 가지 새로운 쿼리 방법을 구현하는 데 사용할 수 있는 창 함수라는 새로운 개념이 추가되었습니다. 윈도우 함수는 SUM(), COUNT() 등의 집계 함수와 약간 비슷하지만 다중 행 쿼리 결과를 하나의 행으로 병합하지 않고 결과를 다시 여러 행에 넣습니다. 즉, 창 함수에는 GROUP BY가 필요하지 않습니다. "학급의 학생 수" 테이블이 있다고 가정합니다.
학급 규모를 소규모에서 대규모로 순위를 지정하려면 다음과 같이 창 기능을 사용할 수 있습니다.
설명: 여기 w window라는 테이블을 생성하고 stu_count 필드를 정렬한 다음 select 절의 w에 대해 Rank() 메서드를 실행하고 그 결과를 순위 필드로 출력하도록 규정했습니다.
이 기능은 Oracle11g의 새로운 기능이기도 하며, 최적화에서도 매우 중요한 역할을 합니다.
관련 추천: "mysql 튜토리얼
"위 내용은 Mysql8과 mysql5.7의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!