안녕하세요.
까마귀입니다.
일요일 오후...날도 좋은데 여기서 활동하시느라 욕보십니다.
델파이와는 별 상관이 없는 질문같아서 조금 미안한데요.
MS SQL을 사용해서 프로그램을 짜고 있는데요.
책을 보니 CHAR형과 VARCHAR형이 있던데요.
VARCHAR형의 경우 가변형이라고 되어있었습니다.
크기를 20으로 주고 실제 저장은 '123'만 했을경우 크기가 3으로 된다고 나와있던데요.
메모리도 절약할수 있고 해서 참 좋을것 같은데, 한가지 궁금한게 있어서요.
DB설계할때 VARCHAR로 설정하면 얻는것과 잃는것 어느것이 더 클까요?
CHAR형과 VARCHAR형 두개가 모두 있는것을 보면 어떠한 차이가 있어서 그렇게 분류가 되어 있으리라고 보는데요.
예를 들어 읽어들일때 속도문제라든가...
CHAR형과 VARCHAR형의 차이를 좀 설명해주시면 감사하겠습니다.
그럼 좋은 하루 되시길....꾸벅~~.
위대한 단군혼이 살아있는 나라.... 대한민국
> 안녕하세요.
> 까마귀입니다.
> 일요일 오후...날도 좋은데 여기서 활동하시느라 욕보십니다.
>
> 델파이와는 별 상관이 없는 질문같아서 조금 미안한데요.
> MS SQL을 사용해서 프로그램을 짜고 있는데요.
> 책을 보니 CHAR형과 VARCHAR형이 있던데요.
> VARCHAR형의 경우 가변형이라고 되어있었습니다.
> 크기를 20으로 주고 실제 저장은 '123'만 했을경우 크기가 3으로 된다고 나와있던데요.
> 메모리도 절약할수 있고 해서 참 좋을것 같은데, 한가지 궁금한게 있어서요.
> DB설계할때 VARCHAR로 설정하면 얻는것과 잃는것 어느것이 더 클까요?
> CHAR형과 VARCHAR형 두개가 모두 있는것을 보면 어떠한 차이가 있어서 그렇게 분류가 되어 있으리라고 보는데요.
> 예를 들어 읽어들일때 속도문제라든가...
> CHAR형과 VARCHAR형의 차이를 좀 설명해주시면 감사하겠습니다.
> 그럼 좋은 하루 되시길....꾸벅~~.
>
>
>
> 위대한 단군혼이 살아있는 나라.... 대한민국
----------------------------------------------------------------------------------
varchar라 함은 문자열의 길이가 언제 변할지 모르는 컬럼을 정의해 주는 타입이죠..
가변형은 가변칼럼의 갯수와 길이 크기등의 정보를 SQL서버에서
계산하고 저장해서 불러오는등 일련의 처리가 내부적으로 더 필요합니다.
따라서 char 보다 속도가 더 걸릴수 밖에 없지요..
그래서 char로 쓰시는게 더 효율적일 수 있습니다.
그러나 char는 가령 char(5) 를 'ab ', where col = 'ab ' 처럼
그 형태를 맞추어 주어야 하기에 번거롭기 일수고 비어있는 공간의 낭비가 있지요..
그래서 코드와 같은 일정한 길이의 컬럼은 char로 쓰시는게 효율적 입니다만
비고나 메모같은 형식의 컬럼은 varchar가 차라리 낫다고 말씀드릴 수 있겠습니다.
따라서 둘의 장단점을 보시고 적절하게 이용하시길 바랍니다.
그럼...