게으른 개발자의 끄적거림

오라클 CHAR VARCHAR VARCHAR2의 차이점

끄적잉 2023. 11. 6. 22:08

오라클(Oracle) 데이터베이스에서 CHAR, VARCHAR, VARCHAR2는 문자열 데이터 유형을 나타내는 세 가지 다른 데이터 유형입니다. 각각의 특징과 차이점을 아래에서 설명하겠습니다:

 


1. CHAR:
   - CHAR는 고정 길이 문자열 데이터 유형입니다. 즉, CHAR 열을 정의할 때 고정된 문자열 길이를 지정해야 합니다.
   - 저장된 데이터의 문자열 길이가 지정된 길이보다 짧으면 나머지 공간을 공백으로 채웁니다.
   - CHAR 열은 검색 및 정렬 속도가 빠르며, 고정 길이로 인덱스를 사용할 수 있어 일부 쿼리 성능 향상에 도움이 될 수 있습니다.

 


2. VARCHAR:
   - VARCHAR은 가변 길이 문자열 데이터 유형입니다. 저장된 문자열의 길이에 따라 필요한 만큼의 공간을 사용합니다.
   - VARCHAR 열은 문자열 길이를 저장하는 추가 오버헤드가 없으므로, 저장 공간을 절약할 수 있습니다.
   - 문자열 검색 및 정렬 속도는 CHAR보다 느릴 수 있으며, VARCHAR 열에 대한 인덱스는 CHAR 열과는 다른 방식으로 작동합니다.

 


3. VARCHAR2:
   - VARCHAR2는 또 다른 가변 길이 문자열 데이터 유형으로, VARCHAR와 거의 유사합니다. 그러나 VARCHAR2가 오라클에서 권장되는 문자열 데이터 유형이며, VARCHAR보다 더 일반적으로 사용됩니다.
   - VARCHAR2는 저장된 데이터에 대한 효율적인 관리 및 검색을 위한 다양한 내부 최적화를 포함합니다.
   - VARCHAR2는 가변 길이 문자열 데이터를 효과적으로 처리할 수 있으며, 문자열의 끝을 나타내는 길이 바이트(L)를 사용하여 문자열의 길이를 저장합니다.

 

 

 


요약하면, CHAR는 고정 길이 문자열을 저장하는 데 사용되며, VARCHAR와 VARCHAR2는 가변 길이 문자열을 저장하는 데 사용됩니다. VARCHAR2는 VARCHAR보다 일반적으로 사용되며, 더 많은 최적화와 유연성을 제공합니다. 선택하는 데이터 유형은 데이터의 특성과 사용 사례에 따라 다를 수 있으므로 신중하게 고려해야 합니다.