2011-05-04 5 views
1

SQL Server 2008에 이미지 필드 형식이 있습니다. VS 2010 FileUpload 컨트롤 (C#)을 사용하여 데이터베이스의 프로필 옆에 로고를로드 할 수있게하려는 경우, 누구든지 이 일을 시작하는 방법을 알려줘?이미지를 SQL Server 2008에 업로드

다시 한번 감사

+0

SQL 서버 2005 - 대신에 VARBINARY (MAX)를 사용하기 때문에'IMAGE' 데이터 유형은 사용되지 않습니다. –

+0

멋진데 저장된 이미지의 경로 만 저장하는 것이 가장 좋습니까, 아니면 이미지 자체를 저장하는 것이 좋습니까? – DarkW1nter

+0

여기에 귀하가 귀하의 의견에 물어 본 질문에 대한 대답이 추가되었습니다 - 꽤 긴 문제입니다! 여기서도 자주 묻습니다. 희망이 도움이됩니다! –

답변

5

디스크에있는 파일에 데이터베이스 테이블의 실제 데이터, 아니면 그냥 경로를 저장할지 여부를 매우 자세하게 설명 To Blob or Not To Blob라는 마이크로 소프트 리서치 정말 좋은 종이있다.

성능 테스트 및 분석 많은 수의 후 그들의 결론은 이것이다 : 사진 또는 문서가 VARBINARY 컬럼이 더 효율적입니다 데이터베이스에 저장, 일반적으로 크기가 256K 이하 경우

  • 사진이나 문서의 크기가 일반적으로 1MB를 초과하는 경우 파일 시스템에 저장하는 것이 더 효율적입니다 (SQL Server 2008의 FILESTREAM 특성을 사용하면 여전히 트랜잭션 제어 및 데이터베이스의 일부인 것입니다)

  • 그 둘 사이에
  • , 그것은 동전 던지기의 비트들을 저장하기 위해

당신은 SQL Server 테이블에 사진을 넣어하기로 결정하는 경우

, 나는 강력하게 별도의 테이블을 사용하는 것이 좋습니다 것입니다 귀하의 사용에 따라입니다 그림 - 직원 사진에 직원 사진을 저장하지 마십시오. 별도의 테이블에 보관하십시오. 이렇게하면 Employee 테이블은 항상 직원의 foto를 쿼리의 일부로 선택할 필요가 없다고 가정 할 때 간결하고 평균적이며 매우 효율적입니다.

파일 그룹의 경우 소개를 보려면 Files and Filegroup Architecture을 확인하십시오. 기본적으로 대용량 데이터 구조를위한 별도의 파일 그룹을 사용하여 처음부터 데이터베이스를 만들거나 나중에 추가 파일 그룹을 추가 할 수 있습니다. "LARGE_DATA"라고합시다. 당신은 VARCHAR (MAX) 또는 VARBINARY (MAX) 열을 저장해야 만들 수있는 새 테이블있을 때마다

이제

, 당신은 큰 데이터를이 파일 그룹을 지정할 수 있습니다

CREATE TABLE dbo.YourTable 
    (....... define the fields here ......) 
    ON Data     -- the basic "Data" filegroup for the regular data 
    TEXTIMAGE_ON LARGE_DATA -- the filegroup for large chunks of data 

체크 아웃 MSDN에서 파일 그룹을 소개하고 함께 놀아 라!

+0

건배 – DarkW1nter

관련 문제