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
운영게시판
최근게시물
PostgreSQL Q&A 9643 게시물 읽기
No. 9643
text와 varchar
작성자
김성현(vortex)
작성일
2016-03-04 14:52
조회수
8,476

 postgresql의 문서를 보면 두 데이터 타입간에는 성능 차이가 없다고 되어 있습니다. 그렇다면 특별히 길이 제한이 중요한 경우가 아니라면 문자를 저장하는 모든 컬럼에 varchar 대신 text 타입을 사용해도 문제가 없는 것인가요?

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

text 칼럼은 엄청나게 많은 텍스트를 담을 수 있습니다.

개발자가 입력되는 문자열의 길이제한을 꼼꼼하게 처리하지 않으면,

전혀 의도하지 않은 엄청난 텍스트가 저장되어 데이터베이스의 성능을 떨어뜨릴 수 있는 단점이 있습니다.

 

김상기(ioseph)님이 2016-03-07 11:16에 작성한 댓글입니다.

말씀하신 사항은 알고 있습니다. 제가 궁금한 것은 제 질문에 있듯이 길이제한이 중요하지 않은 경우 varchar 대신 text를 그냥 사용해도 특별한 문제가 없는지입니다. postgesql은 내부구조에서 두 데이타 타입간의 차이가 없다라고 하니 그냥 varchar 대신 간편하게 text를 사용해도 되는지가 궁금했습니다. 말씀하신 의도하지 않은 길이의 텍스트는 없다고 가정하고 드린 질문입니다.

김성현(vortex)님이 2016-03-08 23:48에 작성한 댓글입니다.

문제가 없는가? 의도하지 않게 긴 문자열이 저장되어 성능을 떨어뜨릴 수 있다

입니다.

그외 언급하지 않은 부분에 대해서는 당연히 '문제가 없다' 입니다.

 

자료형에 대한 PostgreSQL에서의 주의 사항은 numeric 입니다.

이놈이 int나, float 처럼 빨리 움직이지 않습니다.

정말 numeric 밖에 쓸 방법이 없어

이런 경우가 아니면 왠만하면 숫자 기본 자료형으로 설계하는 것이 좋습니다.

9.5에서 상당한 numeric 연산의 속도 개선이 있었다고는 하나

그 구현 방법 자체가 기본 숫자 자료형과는 사뭇다르니 어쩔 수 없이 안고 가야할 단점일 것입니다.

 

김상기(ioseph)님이 2016-03-10 10:07에 작성한 댓글입니다.

의도하지 않은 길이의 문자열이 입력되는 일이 없다면 varchar 대신 text를 사용해도 문제가 없다라는 말씀이시군요.

 

답변 감사합니다.

김성현(vortex)님이 2016-03-11 00:40에 작성한 댓글입니다.
이 댓글은 2016-03-11 00:40에 마지막으로 수정되었습니다.
[Top]
No.
제목
작성자
작성일
조회
9646psqlodbc 를 aix 6.1에서 빌드하다가 다음 에러를 만났습니다. [1]
야근야근열매
2016-03-07
9136
9645drop database xxx; 관련 또 다른 질문입니다. [5]
박정희
2016-03-07
9552
9644drop database xxx; 관련해서 질문드립니다. [3]
박정희
2016-03-07
8096
9643text와 varchar [4]
김성현
2016-03-04
8476
9642postgresql 9.5 설치 os [1]
엄태일
2016-03-03
8472
9641windows pgsql 에서 전문검색은 어떻게 하나요? [2]
김성찬
2016-03-03
8097
9640한국 PostgreSQL 사용자 그룹 대표 주소 논의 [4]
김상기
2016-03-02
8770
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.019초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다