>  기사  >  데이터 베이스  >  MySQL에서 TEXT와 BLOB 필드 유형의 차이점 이해

MySQL에서 TEXT와 BLOB 필드 유형의 차이점 이해

怪我咯
怪我咯원래의
2017-04-01 10:49:531455검색

MySQL에는 혼동하기 쉬운 두 가지 필드 유형, 즉 TEXT와 BLOB가 있습니다. 특히 자신의 블로그 프로그램을 작성하는 블로거는 자신의 블로그 프로그램으로 변경하는 방법을 모릅니다. 블로그 텍스트 필드에 대해 TEXT 또는 BLOB 유형을 선택합니다.
다음은 몇 가지 차이점입니다.
1. 주요 차이점
TEXT와 BLOB의 주요 차이점은 BLOB은 바이너리 데이터를 저장하고 TEXT는 문자 데이터를 저장한다는 것입니다. 현재 블로그 콘텐츠의 거의 모든 사진은 데이터베이스에 바이너리로 저장되지 않습니다. 대신 사진은 서버에 업로드된 다음 텍스트에서 태그를 사용하여 참조됩니다. BLOB는 사진을 바이너리로 변환하여 데이터베이스에 저장할 수 있습니다.
2. 유형 차이
BLOB에는 TINYBLOB, BLOB, MEDIUMBLOB 및 LONGBLOB의 4가지 유형이 있습니다. 값을 저장할 수 있는 최대 길이만 다릅니다.
TEXT에는 TINYTEXT, TEXT, MEDIUMTEXT 및 LONGTEXT의 4가지 유형도 있습니다. 이러한 유형은 BLOB 유형과 동일한 최대 길이 및 스토리지 요구 사항을 갖습니다.
3. 문자 집합
BLOB 열에는 문자 집합이 없으며, 열 값 바이트의 숫자 값을 기준으로 정렬 및 비교가 수행됩니다. TEXT 열에는 문자 집합이 있으며 문자 집합
의 대조 규칙에 따라 값이 정렬되어 비교됩니다. 4. TEXT를 저장하거나 검색하는 동안 사례
가 존재하지 않습니다. 또는 BLOB 열 대소문자 변환은 동일합니다!
5. 엄격 모드
비엄격 모드에서 실행 시 해당 열 유형의 최대 길이를 초과하는 BLOB 또는 TEXT 열에 값을 할당하면 값이 잘립니다. 그것이 맞는지 확인하십시오. 잘린 문자가 공백이 아닌 경우 경고가 생성됩니다. 엄격한 SQL 모드를 사용하면 오류가 생성되고 경고와 함께 차단되는 대신 값이 거부됩니다.
6. 기타
BLOB 및 TEXT 열 값을 저장하거나 검색할 때 후행 공백을 삭제하지 마세요.
BLOB 및 TEXT 열의 인덱스의 경우 인덱스 접두사의 길이를 지정해야 합니다.
BLOB 및 TEXT 열은 기본값을 가질 수 없습니다.
정렬 시에는 열의 첫 번째 max_sort_length 바이트만 사용됩니다. max_sort_length의 기본값은 1024입니다.
long 값이 포함된 BLOB 또는 TEXT 열에서 GROUP BY 또는 ORDER BY를 사용하는 또 다른 방법은 max_sort_length를 초과하는 바이트를 이해하려는 경우 열 값을 고정 길이 객체로 변환하는 것입니다. 표준 접근 방식은 SUBSTRING 함수를 사용하는 것입니다.
BLOB 또는 TEXT 객체의 최대 크기는 해당 유형에 따라 결정되지만 클라이언트와 서버 간에 실제로 전달될 수 있는 최대 크기는 사용 가능한 메모리 양과 통신 캐시에 따라 결정됩니다. 면적 크기. max_allowed_packet변수의 값을 변경하여 메시지 버퍼의 크기를 변경할 수 있지만, 서버 프로그램과 클라이언트 프로그램을 모두 수정해야 합니다.


위 내용은 MySQL에서 TEXT와 BLOB 필드 유형의 차이점 이해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.