MySQL 열거 형 데이터 유형을 실험하고 있습니다. 나는 7 개의 ENUM 데이터 타입을 가진 15 개의 컬럼을 가지고있다. VARCHAR가 없습니다. 최대 열 유형은 DATETIME입니다. 그래서 나는 mysql에서 65535 바이트 제한 이내 여야한다. InnoDB를위한 1000 바이트 제한 내조차도.MySQL ENUM 옵션 값이 최대 행 크기에 영향을 줍니까?
ENUM 유형은 큰 문자열 가능성이 있습니다 (1000 열에 2 열). 난 그냥 테이블
ALTER TABLE <tablename> MODIFY <enumCol> ([...1000 values each of max 40 bytes]);
에 더 많은 ENUM 값을 추가 할 수있는 테이블을 변경하고
ERROR 1117 (HY000): Too many columns
나는이 연구되고이 오류가의 최대 행 크기와 관련이 있음을 발견 드리려고 후이 오류가 발생했습니다 MySql 테이블.
각 테이블은 테이블 정의를 포함하는 .frm 파일을 가지고 - 또한, 여기 http://dev.mysql.com/doc/refman/5.1/en/column-count-limit.html 읽어 보시기 바랍니다. 서버는 다음 식을 사용하여 파일에 저장된 테이블 정보의 일부를 상한선 인 64KB에 대해 확인합니다.
이 ENUM 값 유형이 여기에 저장되어 이로 인해 오류가 발생합니다 (.frm 파일> 64K)? 아니면 완전히 다른 일이 있습니까?
errrm -이 경우 최대 0 ~ 1000 개의 값을 갖는 열거 형 열을 최대 7 개까지 사용하고 있습니까? –
그 중 하나만 1000 값을가집니다. 나머지는 50에서 100 사이입니다. ENUMS의 장점과 단점에 대해 읽었습니다. 속도 개선을 통해 테스트 할 수 있습니다. 테스트 샘플은 1 천 1 백만 행입니다. – Jai