문제

그것은 덜 사용하는 효율적인 텍스트 보다는 varchar 에서 SQL 데이터베이스?

그렇다면 왜?

하지 않는 경우 왜 당신은 단지 항상 사용하여 텍스트가 있습니까?

나는 타겟으로 특정 데이터베이스로 여기에 있지만 오라클은 아마도 가장 관련성이 높지만,저는 테스트에서 MySQL 간의 일부로 개념의 증명입니다.

도움이 되었습니까?

해결책

Microsoft에서 여기

NTEXT, 텍스트 및 이미지 데이터 유형은 향후 Microsoft SQL Server 버전에서 제거됩니다. 새로운 개발 작업에서 이러한 데이터 유형을 사용하지 말고 현재 사용하는 응용 프로그램을 수정할 계획입니다. NVARCHAR (MAX), VARCHAR (MAX) 및 VARBINARY (MAX)를 대신 사용하십시오.

당신이 사용할 때 varchar(max) 텍스트 오버 텍스트에서 사용할 수 있습니다 WHERE 조항은 작은 상대와 동일하게 작동하기 때문에 varchar,nvarchar and varbinary. 아래는 사용해야 할 내용과 반대로 사용해야 할 작은 목록입니다.

  • 텍스트 대신 varchar (max)를 사용하십시오
  • ntext 대신 nvarchar (max)를 사용하십시오
  • 이미지 대신 varbinary (max)를 사용하십시오

다른 팁

PostgreSQL 문서에 따르면:

팁 : 공백 패드 유형을 사용할 때 스토리지 크기가 증가한 것 외에도이 세 가지 유형 사이에는 성능 차이가없고, 길이로 제한 된 열에 저장할 때 길이를 확인하기 위해 몇 가지 추가주기가 있습니다. 문자 (n)는 다른 데이터베이스 시스템에서 성능 장점을 가지고 있지만 PostgreSQL에는 그러한 장점이 없습니다. 대부분의 상황에서 텍스트 나 문자가 대신 사용되어야합니다.

짧은 대답입니다:그렇습니다,그들은 적은 효율적이다.

더 이상은,더 복잡한 답입니다:

그렇습니다,그들은 아마도 미만 효율적입니다.에 따라 달라집하는 DBMS 사용하고 있고 테이블의 크기,etc.,etc.텍스트 필드에는 변동 폭을,그리고 이러 DBMS 해 더 많은 작업을 수행하려고 할 때을 찾아 기록합니다.얼마나 이에 미치는 영향 성능에 직접 비례하는 방법을 효율적으로 귀하의 DBMS 은 일반적으로,얼마나 많은 데이터 저장에 대한 테이블을 행하고 있는지 여부를 최적화 고정 길이 테이블이 있습니다.

알 MySQL 은 빠르게 작동으로 길이가 고정 테이블을 행하지만,당신이 그것을 말하는 테이블을 처리 할 수 있으로 길이가 고정 테이블 처음이다.나는 진짜로 있는 모든 실질적인 경험을 가진 다른 DBMS 의하여 관련될 수 있는 실제 숫자입니다.그러나 테이블과 함께 많(읽기를 만나 이상의)레코드를,그것은 큰 차이를 만들 수 있습니다.작은 테이블이 있을 것이 거의 없는 실제적인 차이가 있지만.

당신이 말하는 데이터베이스에 대해 구체적이어야합니다. 나는 적어도 일부 데이터베이스를 믿는다. 텍스트는 테이블 자체와 별개의 덩어리로 저장됩니다 (참조가 포함되어 있음). 이것은 테이블이 더 작지만 (좋은) 추가 조회와 아마도 캐시를 가져올 때 (나쁜) 캐시를 놓칠 것입니다.

인덱싱 및 쿼리 의미도있을 수 있지만 다시 사용중인 특정 RDBM에 따라 다릅니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top