programing

Base64 인코딩 파일을 저장할 SQL 데이터 유형은 무엇입니까?

linuxpc 2023. 6. 25. 18:31
반응형

Base64 인코딩 파일을 저장할 SQL 데이터 유형은 무엇입니까?

nvarchar(max), varchar(max), 또는 정말로 문자열을 디코딩하여 이미지나 블롭 등에 넣어야 합니까?

더 긴 버전 : (모든 쥬시한 디테일 포함)

저는 A가 있어요.SQL 2008 DB에 레코드를 저장하는 Net SOAP 웹 서비스.서비스는 이미지를 허용하도록 확장될 것이며, 좋든 나쁘든 간에 일시적으로 DB에 들어가야 합니다.

이를 단순하게 유지하기 위해 이 서비스는 이미지를 Base 64 인코딩 문자열로 간주하고 나중에 Base 64 인코딩 문자열로 반환해야 합니다(동일한 서비스의 다른 메서드).

저는 원래 nvarchar(max)를 사용하려고 했는데, 이것이 효과가 있을 것이라고 확신합니다.하지만 base64 인코딩은 varchar(max)를 대신 사용할 수 있고 스토리지 공간을 적게 사용할 수 있다는 것을 의미한다고 생각했습니다.이게 맞나아니면 글을 바이너리로 해독하고 블롭으로 저장했다가 다시 나가는 길에 다시 암호화해야 할까요?

마지막으로, 로드 스토리지와 성능은 문제를 일으킬 가능성이 낮습니다. 이는 애완동물 프로젝트이며 로드가 적을 것입니다.

편집: @howiecamp의 질문에 대해, 저는 어떻게 이미지를 인코딩하고 있는지를 여기에 적었습니다: http://www.flowerchild.org.uk/archive/2010/06/13/base-64-encoding-an-image-to-pass-across-a-web.html

음, Base64는 ASCII 인코딩입니다. 따라서 NVARCHAR은 확실히 필요 없습니다. 그리고 그것이 텍스트이기 때문에, 저는 제안하고 싶습니다.

최대 2GB(충분해야 함)의 순수 텍스트이며 문자열 유형이므로 모든 문자열 기능을 사용할 수 있습니다. NVARCHAR는 실제로 두 배의 스토리지를 사용합니다(문자당 항상 2바이트). 이 경우에는 전혀 필요하지 않습니다.

언급URL : https://stackoverflow.com/questions/2397624/which-sql-data-type-to-store-base64-encoded-file

반응형