RC 프로젝트에서 테이블을 설계하며 속성들의 타입을 지정해줄때 긴 문자열은 text 타입, 짧은 문자열은 varchar 타입으로 지정해주었다.
여기서 궁금했던 부분은 같은 문자열을 다루는 타입인데 어떤 차이가 있어서 이렇게 구분되는 것일까?
그리고 언제 사용되는지도 궁금했었다.
간단하게 정리하면 varchar 타입의 컬럼이 너무 큰 길이를 사용하면 다른 컬럼들이 사용할 수 있는 최대 크기의 공간에 영향을 받게 된다고 한다.
따라서 내가 사용하는 MySQL 서버에서는 레코드 사이즈 한계로 인해 varchar 타입의 최대 저장 길이를 설정할 시 공간을 아껴서 설정해야 된다.
메모리와도 관련이 있는데 varchar 타입은 최대 크기 만큼 메모리에 올라가기 때문에 재사용할 수 있지만 text 타입은 메모리에 미리 할당하지 않기 때문에 매번 레코드를 읽고 쓸때마다 필요한 만큼 메모리가 할당되어야 한다.
'프로젝트' 카테고리의 다른 글
[RC] - Spring Security의 달라진 점들. (0) | 2025.01.21 |
---|---|
[RC] - JPA에서는 text 타입을 어떻게 설정할까? (0) | 2025.01.21 |
[RC] - 1.0 버전 개발 완료 (0) | 2025.01.21 |
[NEST] - DOM을 잘 몰라서 발생한 에러 (1) | 2024.10.16 |
[NEST] - NEST 프로젝트 (0) | 2024.10.16 |
RC 프로젝트에서 테이블을 설계하며 속성들의 타입을 지정해줄때 긴 문자열은 text 타입, 짧은 문자열은 varchar 타입으로 지정해주었다.
여기서 궁금했던 부분은 같은 문자열을 다루는 타입인데 어떤 차이가 있어서 이렇게 구분되는 것일까?
그리고 언제 사용되는지도 궁금했었다.
간단하게 정리하면 varchar 타입의 컬럼이 너무 큰 길이를 사용하면 다른 컬럼들이 사용할 수 있는 최대 크기의 공간에 영향을 받게 된다고 한다.
따라서 내가 사용하는 MySQL 서버에서는 레코드 사이즈 한계로 인해 varchar 타입의 최대 저장 길이를 설정할 시 공간을 아껴서 설정해야 된다.
메모리와도 관련이 있는데 varchar 타입은 최대 크기 만큼 메모리에 올라가기 때문에 재사용할 수 있지만 text 타입은 메모리에 미리 할당하지 않기 때문에 매번 레코드를 읽고 쓸때마다 필요한 만큼 메모리가 할당되어야 한다.
'프로젝트' 카테고리의 다른 글
[RC] - Spring Security의 달라진 점들. (0) | 2025.01.21 |
---|---|
[RC] - JPA에서는 text 타입을 어떻게 설정할까? (0) | 2025.01.21 |
[RC] - 1.0 버전 개발 완료 (0) | 2025.01.21 |
[NEST] - DOM을 잘 몰라서 발생한 에러 (1) | 2024.10.16 |
[NEST] - NEST 프로젝트 (0) | 2024.10.16 |