모든 크기의 데이터에 대해 Blob이 varchar보다 효율적입니까?


9

데이터베이스를 설정할 때 잠재적으로 상당히 긴 데이터에 가장 효율적인 데이터 유형을 사용하고 싶습니다. 현재 내 프로젝트는 해당 노래와 관련된 노래 제목과 생각을 저장하는 것입니다. 일부 제목은 5 자 또는 100 자보다 길 수 있으며 생각이 오래 걸릴 수 있습니다.

varchar을 8000으로 설정하거나 얼룩을 사용하는 것이 더 효율적입니까? blob을 varchar와 동일하게 사용합니까? 보유한 내용에 관계없이 할당 된 크기가 설정되어 있다는 점입니까? 아니면 그냥 포인터이고 실제로 테이블에서 많은 공간을 사용하지 않습니까? KB의 특정 크기의 Blob이 있습니까? 아니면 확장 가능합니까?

답변:


12

BLOB보다 TEXT 를 사용하는 것이 좋습니다 .

주요 차이점

  • TEXT 및 BLOB는 실제 스토리지 위치에 대한 포인터 만있는 테이블과 함께 테이블에 저장됩니다.

  • VARCHAR은 테이블과 함께 인라인으로 저장됩니다.

기본 지침

  1. 텍스트 형식 메시지는 거의 항상 TEXT로 저장해야합니다 (임의로 길다).

  2. 문자열 속성은 VARCHAR (대상 사용자 이름, 주제 등)로 저장해야합니다.


VARCHAR 사용시기 및 TEXT 사용시기를 선택하는 방법은 다음 스레드에서 스택 오버 플로우에 대해 광범위하게 논의되었습니다.

  1. MySQL : 큰 VARCHAR 대 텍스트?

  2. MySQL varchar (2000) 대 텍스트?

MySQL 포럼 에는 이에 대한 성능 비교 스레드 도 있습니다 .


그 링크에 감사드립니다. 그들은 내가 가진 몇 가지 질문에 대답했고 결국 TEXT를 사용했습니다. 서버에서 차지하는 물리적 공간에 이르기까지 내가 찾던 것은 정확히 아니었지만 작은 프로젝트 일 경우 중요하지 않습니다. 나중에 더 큰 프로젝트를 시작하면 알아 내야합니다.
BillyNair

0

직렬화 된 복잡한 데이터 유형이있는 경우에만 블롭을 사용해야한다고 생각합니다. 즉, 단일 클래스에 복잡한 클래스를 저장하려는 경우입니다. String (또는 이와 동등한 것) 만 저장하려면 blob을 사용하지 마십시오.

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