postgresql의 문서를 보면 두 데이터 타입간에는 성능 차이가 없다고 되어 있습니다. 그렇다면 특별히 길이 제한이 중요한 경우가 아니라면 문자를 저장하는 모든 컬럼에 varchar 대신 text 타입을 사용해도 문제가 없는 것인가요?
text 칼럼은 엄청나게 많은 텍스트를 담을 수 있습니다.
개발자가 입력되는 문자열의 길이제한을 꼼꼼하게 처리하지 않으면,
전혀 의도하지 않은 엄청난 텍스트가 저장되어 데이터베이스의 성능을 떨어뜨릴 수 있는 단점이 있습니다.
말씀하신 사항은 알고 있습니다. 제가 궁금한 것은 제 질문에 있듯이 길이제한이 중요하지 않은 경우 varchar 대신 text를 그냥 사용해도 특별한 문제가 없는지입니다. postgesql은 내부구조에서 두 데이타 타입간의 차이가 없다라고 하니 그냥 varchar 대신 간편하게 text를 사용해도 되는지가 궁금했습니다. 말씀하신 의도하지 않은 길이의 텍스트는 없다고 가정하고 드린 질문입니다.
문제가 없는가? 의도하지 않게 긴 문자열이 저장되어 성능을 떨어뜨릴 수 있다
입니다.
그외 언급하지 않은 부분에 대해서는 당연히 '문제가 없다' 입니다.
자료형에 대한 PostgreSQL에서의 주의 사항은 numeric 입니다.
이놈이 int나, float 처럼 빨리 움직이지 않습니다.
정말 numeric 밖에 쓸 방법이 없어
이런 경우가 아니면 왠만하면 숫자 기본 자료형으로 설계하는 것이 좋습니다.
9.5에서 상당한 numeric 연산의 속도 개선이 있었다고는 하나
그 구현 방법 자체가 기본 숫자 자료형과는 사뭇다르니 어쩔 수 없이 안고 가야할 단점일 것입니다.
의도하지 않은 길이의 문자열이 입력되는 일이 없다면 varchar 대신 text를 사용해도 문제가 없다라는 말씀이시군요.
답변 감사합니다.