드루팔 성능/속도 올리기 제5탄 - CCK 컨텐츠 타입의 필드 설정시 문자열 길이는 반드시 제한을 두라!
아주 중요한 팁이다.
드루팔의 컨텐츠 타입 지정시, 필드를 문자열로 한 경우
설정 화면에서
Size of textfield: 부분에만 문자열 길이를 지정하면 끝인 줄 알면 큰 오산이다!
보통 기본값이 60으로 돼 있는데 이를 그대로 저장하면,
MySQL의 경우 VARCHAR 타입이 아닌 LONGTEXT로 필드를 생성한다.
그냥 TEXT도 아니고 LONGTEXT이다!!!
http://dev.mysql.com/doc/refman/5.1/en/string-type-overview.html
이 필드들을 드루팔 View를 이용해서 정렬이나 검색을 한다고 생각하면,
끔직하다! 참으로 끔직하다! 게다가 인덱싱도 설정돼 있지 않은 상태이다.
고로 반드시 다음과 같이 CCK 컨텐츠 타입을 설정하다. *(필독! 필히 준수!)
컨텐츠 타입의 필드 설정에서 문자열인 경우에는,
Size of textfield: 부분 뿐만 아니라 설정화면 제일 아래에 있는
"최대 문자수" 부분을 확실하게 지정해야 한다.
예를 들어 "최대 문자수" 부분에 200을 지정/저장하면,
MySQL에는 LONGTEXT가 아닌 VARCHAR 200으로 정확히 지정된다.
이렇게 하지 않으면 해당 컨텐츠 타입 목록의 출력시 많이 느려질 것이다.
* 일단 LONGTEXT로 생성된 컨텐츠 타입 필드는 나중에 "최대 문자수"를 강제 지정해도 VARCHAR로 변하지 않는다.
Recent comments
4 years 2 weeks ago
4 years 2 weeks ago
6 years 30 weeks ago
6 years 31 weeks ago
9 years 16 weeks ago
9 years 16 weeks ago
9 years 17 weeks ago
9 years 17 weeks ago
9 years 37 weeks ago
9 years 44 weeks ago