묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
MySql 컬럼에 따른 처리 속도에 대해...
2004.01.25 22:21
예로 쇼핑몰을 가정할 때
한 제품에 대해 컬러별로 사진을 등록한다면 (컬러수가 제품마다 다를때)
어떤 경우가 더 빠를까요?
예1)
color = blue//white//black
pic = 3285ivory_1.jpg//3285ivory_2.jpg//3285ivory_3.jpg
- 위와 같이 디비에 저장하고, 불러올 때 //로 구분해주어 배열값으로 사용
예2)
color1 = blue
color2 = white
color3 = black
pic1 = 3285ivory_1.jpg
pic2 = 3285ivory_2.jpg
pic3 = 3285ivory_3.jpg
- 컬러갯수만큼 컬럼을 만들어주고 개별 저장 (미리 컬럼을 10개정도 만들어 놓음)
첫번째 예는 디비관리는 별문제가 없지만
저장할때와 불러올때 //를 구분자로 일일이 배열작업을 해야한다는게 문제인 것 같고,
두번째 예는 저장할 때와 불러올 때 편하게 작업할수 있는 반면
미리 어느정도의 컬럼수를 만들어 놓아야 하기 때문에
쓰지않는 컬럼이 발생할 수도 있고 디비속도에 악영향을 키칠 수도 있다는게 문제인 것 같습니다.
어떤게 좋을까요? 이것말고 다른방법이 있을까요?
디비테이블에 빈 컬럼수가 많으면 속도가 많이 차이날까요?
답변주시면 감사하겠습니다.
한 제품에 대해 컬러별로 사진을 등록한다면 (컬러수가 제품마다 다를때)
어떤 경우가 더 빠를까요?
예1)
color = blue//white//black
pic = 3285ivory_1.jpg//3285ivory_2.jpg//3285ivory_3.jpg
- 위와 같이 디비에 저장하고, 불러올 때 //로 구분해주어 배열값으로 사용
예2)
color1 = blue
color2 = white
color3 = black
pic1 = 3285ivory_1.jpg
pic2 = 3285ivory_2.jpg
pic3 = 3285ivory_3.jpg
- 컬러갯수만큼 컬럼을 만들어주고 개별 저장 (미리 컬럼을 10개정도 만들어 놓음)
첫번째 예는 디비관리는 별문제가 없지만
저장할때와 불러올때 //를 구분자로 일일이 배열작업을 해야한다는게 문제인 것 같고,
두번째 예는 저장할 때와 불러올 때 편하게 작업할수 있는 반면
미리 어느정도의 컬럼수를 만들어 놓아야 하기 때문에
쓰지않는 컬럼이 발생할 수도 있고 디비속도에 악영향을 키칠 수도 있다는게 문제인 것 같습니다.
어떤게 좋을까요? 이것말고 다른방법이 있을까요?
디비테이블에 빈 컬럼수가 많으면 속도가 많이 차이날까요?
답변주시면 감사하겠습니다.
다만 DB 용량 활용면에서는 첫번째 방법이 우수할 듯 합니다.