테이블이 너무 많습니다. 닉네임과 댓글만 utf8mb4로 설정되어 있습니다.
config, 태그, 라우터 등은 utf8mb4를 전혀 사용하지 않습니다. 그들은 여전히 utf8입니다. utf8 utf8mb4
가 검색에 영향을 미칠까요? 인덱싱 및 로그 기록?
이 방법이 순수 utf8mb4보다 빠르나요? 안정적인가요?
mysqld 구성에서 구성을 수정하고 utf8mb4를 최적화해야 합니까
PHP 코드 DB_CHARSET이 utf8mb4를 설정하면 uft8 데이터에 영향을 미치나요?
장점은 많지 않습니다
utf8mb4는 이모티콘 같은 특수문자를 4바이트만 사용하기 때문에
나머지 성능은 mysql의 utf8 문자셋과 동일합니다
(MySQL utf8 문자 집합에서 단일 문자의 최대 길이 구현이 잘못되어 utf8mb4 문자 집합이 나왔습니다. 사실 이 utf8mb4가 표준 utf8입니다)
물론, char 사용을 지양하고 대신 varchar를 사용해야 합니다. mysql의 char 컬럼 유형이 utf8mb4에 속하기 때문입니다. 모든 데이터가 저장되도록 하려면 char이 문자 수 * 4의 바이트 수를 차지하게 됩니다. (mysql utf8의 char 컬럼 유형은 충분한 공간 할당을 보장하기 위해 바이트 수(문자 수 * 3)를 차지합니다. 따라서 공간 절약을 위해 가변 길이 varchar를 사용하는 것이 좋습니다. 가변 길이가 소비하는 저장 공간은 다음과 같습니다. 실제 저장에 필요한 바이트 수 + 1 또는 2바이트로 표현되는 길이입니다.
또한 순수 영어 문자 열의 경우 varbinary(가변 길이 이진) 및 이진 열(비밀번호 해시와 같은 고정 길이 영어 문자에 적합)을 고려할 수도 있습니다. 이 열은 varchar보다 성능이 약간 더 좋습니다. 바이너리 데이터