http://www.mysqlperformanceblog.com/2009/09/28/how-number-of-columns-affects-performance/ 위 글에 딱 컬럼수 100개로 MyISAM과 Innodb 에서 실험한 결과가 있습니다. int, char 형과 같은 고정크기타입의 경우 컬럼수와 상관없어 보이고, varchar 와 같은 동적크기타입의 경우 성능에 영향을 많이 주고 있네요.(컬럼수 증가와 함께)
#4Andrew2011-06-17 10:57:44
설계상에서 단일 테이블의 수많은 필드들이, DBMS 성능상의 이슈로 단일 테이블에서 여러개의 테이블로 쪼개어지기도 합니다.
검색을 해보면 한 테이블안의 컬럼수는 40개 이하로 하라고 합니다. (교육 정리)
컬럼수가 많으면 io에 영향을 줄 수밖에 없습니다.
100개 컬럼이 다 필요해서 불러와야 할 경우
select * from table; 와
select name, type from table;의 경우는 당연히 차이가 나겠죠.
컬럼이 100개가 되어야할 정도라면 테이블을 나누거나 그룹핑할 수 있는 데이터(특히나 다이렉트로 검색할 필요가 없는 데이터)는 serialize화 해서 넣는 것도 좋습니다.