MySQL Enum의 성능 이점
필드의 가능한 값이 5~10개밖에 없는 상황에서 enum을 사용하는 것이 성능상의 이점이 있습니까?그렇지 않다면 어떤 장점이 있습니까?
사용 시 퍼포먼스가 크게 저하됩니다.ENUM
다음과 같은 조작의 경우:
에서 허용된 값 목록을 쿼리합니다.
ENUM
예를 들어 드롭다운메뉴에 정보를 입력합니다.데이터 유형을 쿼리해야 합니다.INFORMATION_SCHEMA
반환된 BLOB 필드의 목록을 해석합니다.허용되는 값 집합을 변경합니다.필요한 것은,
ALTER TABLE
테이블을 잠그고 재구성을 수행할 수 있습니다.
MySQL의 팬은 아닙니다.ENUM
. 저는 룩업 테이블을 사용하는 것을 선호합니다."데이터베이스에서 열거 필드를 사용하지 않고 열거를 처리하는 방법"에 대한 답변도 참조하십시오.
ENUM은 값의 수에 따라 내부적으로 1바이트 또는2바이트로 표시됩니다.저장하는 문자열이 2바이트보다 크고 거의 변경되지 않는 경우 ENUM을 사용하는 것이 좋습니다.Enum을 사용하면 비교가 빨라지고 디스크에서 차지하는 공간도 줄어들기 때문에 검색 시간이 단축될 수 있습니다.
단점은 enum이 값의 추가/삭제 시 유연성이 떨어진다는 것입니다.
이 기사에서는 ENUM 데이터 유형을 사용하여 성능을 향상시킵니다.Fernando는 쿼리에 대한 Enum 유형의 성능을 조사합니다.
그 결과 설계 측면에서는 ENUM을 사용하는 것이 다소 우아해 보일 수 있지만(ENUM 값이 가끔 변경되는 경우), 대규모 데이터셋의 경우 성능 향상은 명백합니다.
음, 디자인적인 관점에서 보면 ENUM을 사용하는 것이 다소 우아해 보일 수 있습니다(Types를 한 테이블에서 사용하는 것이 아니라 여러 테이블에서 사용하면 어떻게 됩니까?).유형을 추가하려면 어떻게 해야 합니까?표를 변경해야 합니다!)라는 퍼포먼스의 이점을 얻을 수 있습니다.대량의 데이터를 처리하는 경우(테스트는 소량이지만 서버는 없고, 매우 초라한 노트북뿐입니다).
자세한 것은 그의 기사를 참조해 주세요.동의합니까?
아니요, 여기서 비교를 참조하십시오.
장점은 코드 가독성에 있습니다.
언급URL : https://stackoverflow.com/questions/766299/mysql-enum-performance-advantage
'programing' 카테고리의 다른 글
PHP 스크립트를 디버깅하려면 어떻게 해야 합니까? (0) | 2022.11.23 |
---|---|
사용자의 mysql 서버에 원격 액세스 권한을 부여하는 방법 (0) | 2022.11.23 |
Ubuntu 14.04에 PHP intl 확장을 설치하는 방법 (0) | 2022.11.23 |
이클립스용 매크로 레코더 있어? (0) | 2022.11.23 |
문자열을 BigInteger로 변환하려면 어떻게 해야 합니까? (0) | 2022.11.23 |