MySQL에서 BLOB와 TEXT 데이터 유형의 차이점은 무엇입니까?


117

무엇 blob과 무엇입니까 text? 차이점은 무엇입니까?

언제 데이터 유형 으로 사용해야 blob하고 언제 사용해야 text합니까?

대한 때문에 blob그리고 text, 거기에 mediumblob== mediumtext, smallblob== small text. 그들은 같은 의미를 가지고 있습니까?

그리고이 MEDIUMBLOB, MEDIUMTEXT L+ 3 바이트를 보세요 L < 224.

무엇입니까 L?


이 게시물 귀하의 질문에 답변 생각 stackoverflow.com/questions/7071662/mysql-text-vs-blob-vs-clob
earlonrails

답변:


103

TEXT 및 CHAR은 시간과 관련된 문자 집합으로 /에서 변환됩니다. BLOB 및 BINARY는 단순히 바이트를 저장합니다.

BLOB는 바이너리 데이터를 저장하는 데 사용되며 Text는 큰 문자열을 저장하는 데 사용됩니다.

BLOB 값은 2 진 문자열 (바이트 문자열)로 처리됩니다. 문자 집합이 없으며 정렬 및 비교는 열 값의 바이트 숫자 값을 기반으로합니다.

TEXT 값은 2 진이 아닌 문자열 (문자열)로 처리됩니다. 문자 세트가 있으며 값은 문자 세트의 데이터 정렬을 기반으로 정렬 및 비교됩니다.

http://dev.mysql.com/doc/refman/5.0/en/blob.html


3
그래서 우리는 "wordpress post"와 같은 긴 텍스트를 저장하기 위해 텍스트를 사용합니까? 그리고 우리는 매우 긴 URL 주소를 저장하기 위해 blob을 사용합니까? 그렇다면 blob 또는 텍스트를 사용하는 대신 varchar를 사용하여 매우 긴 텍스트를 저장하지 않는 이유는 무엇입니까? 메모리에 계산하기 때문에, VARCHAR 예를 들어 테이블 웹 사이트 (WEBSITE_NAME의 VARCHAR (30))를 만들고, 정말 간단하고 필요한 메모리가 13byte 그래서 우리는 WEBSITE_NAME "유래"을 채우기
nencor

5
TEXT는 Varchar (MAX)로 대체 될 예정이지만 현재는 mysql 버전에 따라 블로그 본문 게시물과 같은 큰 텍스트 게시물에 TEXT를 사용합니다. BLOB는 매우 긴 URL 주소 나 많은 양의 텍스트를 저장하는 데 사용해서는 안됩니다. . 일반적으로 이미지 또는 기타 바이너리 기반 객체를 저장하는 데 사용됩니다. 개인적으로 저는 BLOB 또는 TEXT를 사용하지 않으며 사용자 ID 기반 폴더와 관련된 xml 파일에 많은 양의 데이터를 저장하지 않습니다.
Darcey

바이너리 기반 객체를 이해하지 못합니다. 즉, Blob 데이터 유형을 사용하여 사진을 데이터베이스에 저장할 수 있습니다. ?? 폴더처럼? 내가 진에 대해 알고있는 모든 것을 단지 1 또는 0입니다
nencor

1
@nencor 예, 이미지를 데이터베이스에 저장할 수 있습니다. 아카이브를 저장할 수도 있습니다. 그러나 폴더는 실제로 파일 시스템의 기능이기 때문에 폴더를 데이터베이스에 저장할 수 없습니다. (그래도 결국에는 완전한 파일 시스템을 데이터베이스에 iso 파일로 저장할 수 있습니다.)
Martin Thoma 2014

@ martin-thoma 서버 측에 MongoDB 데이터베이스가있는 애플리케이션이 있습니다. 응용 프로그램의 모바일 구성 요소는 SQLLite를 사용합니다. MongoDB 데이터베이스와 SQLLite 데이터베이스간에 데이터를 연결하는 방법이 필요합니다. MongoDB는 ObjectId를 사용하여 데이터를 고유하게 식별합니다. SQLLite (RDBMS world)에는 MongoDB ObjectId를 직접 표현하는 방법이 없기 때문에 ObjectId를 BLOB 유형으로 저장할 수 있는지 궁금합니다. 그게 합당한 해결책처럼 들리나요? 성능이 저하됩니까? 다른 단점이 있습니까?
CS Lewis

10

일반적으로 일반 텍스트로 변환되는 TEXT 및 CHAR 또는 nchar이므로 문자열과 같은 텍스트 만 저장할 수 있습니다.

BLOB 및 BINARY는 이미지와 같은 바이너리 데이터를 저장할 수 있음을 의미합니다.


이미지와 같은 바이너리 데이터를 저장한다는 것은 무엇을 의미합니까? 이미지 URL을 의미 했습니까?
nencor

10

Blob 데이터 유형은 이미지와 같은 이진 객체를 저장하고 텍스트 데이터 유형은 웹 페이지 기사와 같은 텍스트 객체를 저장합니다.


7

BLOB는 가변적 인 양의 데이터를 보유하는 2 진 문자열입니다. 대부분의 경우 BLOB는 경로 및 파일 정보 대신 실제 이미지 바이너리를 보유하는 데 사용됩니다. 텍스트는 많은 양의 문자열 문자 용입니다. 일반적으로 블로그 또는 뉴스 기사는 TEXT 필드를 구성합니다.

이 경우 L은 저장 요구 사항을 나타내는 데 사용됩니다. (길이 | 크기 + 3) 224 미만이면됩니다.

참조 : http://dev.mysql.com/doc/refman/5.0/en/blob.html


3

고성능 Mysql 책에 따르면 :

BLOBTEXT 제품군 의 유일한 차이점은 BLOB 유형 은 데이터 정렬이나 문자 집합없이 이진 데이터를 저장하지만 TEXT 유형에는 문자 집합과 데이터 정렬이 있다는 것입니다.


1

BLOB는 2GB 이상의 바이너리 데이터를 저장합니다. BLOB의 최대 크기는 4GB입니다. 바이너리 데이터는 구조화되지 않은 데이터를 의미합니다. 즉 이미지 오디오 파일 vedio 파일 디지털 서명

텍스트는 큰 문자열을 저장하는 데 사용됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.