질문 Q #9341
CI관련된건 아닌데, 컬럼수가 많으면 성능에 많이 영향을 미치나요?
이현석 2011-06-10 14:05:36
 너무 기초적인것을 질문드리는 것 같아 죄송합니다. 너그러이 용서를 ㅠ

다름이 아니오라 제목에 있는 것 처럼

테이블에 컬럼 수가 많도록 만들면 성능이 많이 저하되는지 싶어서요

컬럼 약 100개 정도?

그럼 부탁드립니다.
답변 4
#1 변종원(웅파) 2011-06-10 14:26:32

검색을 해보면 한 테이블안의 컬럼수는 40개 이하로 하라고 합니다. (교육 정리)
컬럼수가 많으면 io에 영향을 줄 수밖에 없습니다.

100개 컬럼이 다 필요해서 불러와야 할 경우
select * from table; 와
select name, type from table;의 경우는 당연히 차이가 나겠죠.

컬럼이 100개가 되어야할 정도라면 테이블을 나누거나 그룹핑할 수 있는 데이터(특히나 다이렉트로 검색할 필요가 없는 데이터)는 serialize화 해서 넣는 것도 좋습니다.

#2 이현석 2011-06-10 20:23:12
 40개가 마지노선이군요
답변 감사합니다!
다시 고민속으로~

#3 woof2 2011-06-15 19:52:19
늦었지만 댓글달아 봅니다.

http://dev.mysql.com/doc/refman/5.0/en/column-count-limit.html

http://www.mysqlperformanceblog.com/2009/09/28/how-number-of-columns-affects-performance/
위 글에 딱 컬럼수 100개로 MyISAM과 Innodb 에서 실험한 결과가 있습니다.
int, char 형과 같은 고정크기타입의 경우 컬럼수와 상관없어 보이고, varchar 와 같은 동적크기타입의 경우
성능에 영향을 많이 주고 있네요.(컬럼수 증가와 함께)
#4 Andrew 2011-06-17 10:57:44
설계상에서 단일 테이블의 수많은 필드들이, DBMS 성능상의 이슈로 단일 테이블에서 여러개의 테이블로 쪼개어지기도 합니다.