database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
ㆍSybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Sybase Q&A 1963 게시물 읽기
No. 1963
char VS varchar
작성자
궁금이
작성일
2007-06-27 09:43
조회수
5,634


 varchar와 같은 경우 메모리에 가변길이로 할당되어 일정길이 만큼 미리 할당해 놓지 않는 거라 알고 있습니다만,

실제로 디스크에 데이터가 저장될때도 마찬가지로 char에 비해 varchar가 디스크 용량을 절약할 수 있는건가요?

이 글에 대한 댓글이 총 2건 있습니다.

sample 테이블 생성
create table #temp
(
      c char(10) not null,
      d varchar(10) not null
)
char, varchar 모두 max 길이를 명시해주어야 합니다.

char type인 경우 10byte 공간을 모두 할당하고 저장되지만
varchar인 경우 가변적으로 바뀔수 있습니다.
ex) insert #temp values('1', '2')
10+1 => exp_row_size를 지정하지 않았다면 대략 11byte 저장됨

varchar인경우 disk공간은 절약되지만
varchar로 되어있는 column을 update할 때 forworded row가 발생될 수 있습니다.

forworded row가 발생하기 때문에
update도 direct update 보다 defered update가 발생할 가능성이 많음

char type이더라도 null을 허용하는 경우
varchar 처럼 동작됨니다.

 

 


 

영빈~(backfish)님이 2007-06-27 10:00에 작성한 댓글입니다.

일단 IQ는 무조건 char로 잡으시고요....(그렇게 많이 차지 하지 않으므로)


위의 분 말씀대로 varchar나 null allow로 하시면....


모두 varchar로 저장이 됩니다.


varchar type을 index로 잡으시면 overhead가 있고요


저장시 varchar의 실제저장길이를 data앞에 위치하므로


실제 performance에 영향이 있다고 되어 있습니다.



(물론 이론상으로요....테스트 해보면 ...그다지 차이는 안나는듯)

지연님이 2007-06-28 09:35에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
1966ASE 서버와 클라이언트 버전차이 [2]
오우
2007-06-28
5465
1965데이타가 짤리면서 에러가 나는데 [1]
김민철
2007-06-27
6139
1964asiq 백업 정책과 transaction log 백업은? [1]
박현수
2007-06-27
5094
1963char VS varchar [2]
궁금이
2007-06-27
5634
1962sysprotects에서 [1]
이은영
2007-06-26
5295
1961errorlog 내용좀 봐주세요 [1]
이은영
2007-06-26
5622
1960페이징 쿼리 예제를 sybase.co.kr에서 찾고 있습니다. [1]
김민성
2007-06-26
7048
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다