데이터 유형이 MySQL varchar
인 것에 대해 의문의 여지가 있습니다. 우리 모두 알고 있습니다.MySQL varchar와 IBM DB2 varchar dataype 비교
char
은 고정 길이 데이터 유형입니다. 따라서 char 값의 저장 크기는 열의 최대 크기 인 과 같습니다. 그러나 "varchar"의 경우 가변 길이 데이터 형식 인 이므로 varchar
값의 저장 크기는이 열의 최대 크기가 아니라 입력 한 데이터의 실제 길이입니다. 그래서 varchar
은 일반적으로 문자/텍스트 종류의 데이터를 저장하고 나중에 사용하기 위해 사용되지 않은 메모리를 보존해야 할 때 더 많이 사용됩니다.
최근에 필자는 IBM DB2의 경우 테이블의 나머지 열의 중간에서 varchar
열을 사용하면 그 특정 열의 문자의 저장 크기가 orignal varchar
열의 크기
EX :
- firstName을 : 숯 (50)
- 이 lastName : VARCHAR (50)
- EMAILID : 숯 (50)
이제이 텍스트 ('Majhi')를 데이터 형식 varchar(50)
의 coloumn "lastName"에 저장하려는 경우 실제 크기 인 5ch 만 사용하는 대신 전체 50char 저장 공간을 사용합니다. 텍스트 ('Majhi').
그렇기 때문에 IBM DB2는 테이블의 나머지 coloumns 중간에 varchar 데이터 유형 coloumn을 포함하여 char
데이터 유형과 동일하게 작동합니다. 따라서 메모리 최적화는 발생하지 않습니다.
그래서 우리가 알고 싶은 것은 우리의 MySQL이 똑같은 방식으로 작동하는지 아니면 varchar
데이터 형식 coloumn이 존재하는지에 따라 다르다는 것입니다. 따라서 varchar
데이터 유형 열이 작동해야합니다.
DB2가 'Mahji'를 varchar (50)의 50 문자를 사용하여 저장할 때, 행의 중간에 해당 필드가 올바르지 않습니다. 실제 값은 5 바이트, 문자열 길이는 4 바이트가됩니다. C 럼에 널 (NULL) 입력이 가능하면 널 (NULL) 표시기에 1 바이트가 추가됩니다. –