이진 파일을 SQL Server 데이터베이스에 저장해야합니다. Varbinary 및 Image에서 더 나은 데이터 유형은 무엇입니까?
답변:
이미지는 더 이상 사용되지 않으므로 varbinary를 사용해야합니다.
Microsoft 당 (@Christopher 링크에 감사드립니다)
ntext, text 및 image 데이터 유형은 향후 버전의 Microsoft SQL Server에서 제거됩니다. 새로운 개발 작업에서 이러한 데이터 유형을 사용하지 말고 현재이를 사용하는 애플리케이션을 수정하십시오. 대신 nvarchar (max), varchar (max) 및 varbinary (max)를 사용하십시오.
큰 비 유니 코드 및 유니 코드 문자 및 이진 데이터를 저장하기위한 고정 및 가변 길이 데이터 유형. 유니 코드 데이터는 UNICODE UCS-2 문자 세트를 사용합니다.
https://docs.microsoft.com/en-us/sql/t-sql/data-types/ntext-text-and-image-transact-sql
영상
0에서 2 ^ 31-1 (2,147,483,647) 바이트까지의 가변 길이 이진 데이터입니다. 여전히 이미지 데이터 유형을 사용하는 것이 지원되지만 다음 사항에 유의하십시오.
https://docs.microsoft.com/en-us/sql/t-sql/data-types/binary-and-varbinary-transact-sql
varbinary [(n | 최대)]
가변 길이 이진 데이터. n은 1에서 8,000 사이의 값일 수 있습니다. max는 최대 저장소 크기가 2 ^ 31-1 바이트임을 나타냅니다. 저장 크기는 입력 된 데이터의 실제 길이 + 2 바이트입니다. 입력되는 데이터의 길이는 0 바이트가 될 수 있습니다. varbinary에 대한 ANSI SQL 동의어는 이진 가변입니다.
따라서 둘 다 같은 크기 (2GB)입니다. 그러나 다음에 유의하십시오.
"이미지"데이터 유형의 끝은 아직 결정되지 않았지만 "미래"에 해당하는 증명을 사용해야합니다.
하지만 스스로에게 물어봐야합니다 : 왜 BLOBS를 컬럼에 저장합니까?