2010-11-18 4 views
0

가 나는 4 열을 보유하고있는 제품 목록의 테이블을 가지고, 지금 난이 두 옵션이 각각의 행에 대한 영상을 저장할 수있다 .. 데이터베이스에언제 이미지를 데이터베이스에 저장해야합니까?

  • 스토어 이미지.
  • 폴더에 이미지를 저장하고 테이블에 경로 만 저장합니다.

제 질문은이 상황에서 어떤 것이 더 낫습니까? 그 이유는 무엇입니까?

+1

이 질문은 여러 번 여러 번 질문되었습니다. http://stackoverflow.com/q/1234202/79444; http://stackoverflow.com/q/1071636/79444; http://stackoverflow.com/q/815626/79444; http://stackoverflow.com/q/815626/79444; 등등 ... 심지어 그 질문에 그들은 그것들이 중복 된 것을 또한 참조합니다 ... – veljkoz

+0

그리고 ... 중복 된 것들 중 일부는 다시 중복으로 표시됩니다 ... 깊은 사슬. –

답변

3

Microsoft Research는 To Blob Or Not To Blob이라는 주제로 상당히 광범위한 논문을 발표했습니다.

이들의 개요는 다음과 같습니다

응용 프로그램 디자이너는 종종 파일 시스템 또는 데이터베이스에 큰 개체를 저장할지 여부의 문제에 직면 해있다. 종종 이러한 결정은 애플리케이션 설계의 단순성을 위해 이루어집니다. 때때로 성능 측정도 사용됩니다. 본 백서에서는 장기적인 관점에서 시스템의 성능 및/또는 관리 효율성에 영향을 줄 수있는 운영 문제 중 하나 인 조각화 문제를 살펴 봅니다. 일반적인 지혜에서 예상 한 바와 같이에 25530보다 작은 객체가 저장되는 것이 가장 좋은 반면에 1M보다 큰 객체는 파일 시스템에 저장하는 것이 가장 좋습니다. 256K와 1M 사이의 읽기/쓰기 비율과 개체 덮어 쓰기 또는 대체 비율은 중요한 요소입니다. 벽 시계 시간을 표준화하는 방법으로 "저장 기간"또는 개체 덮어 쓰기 수라는 개념을 사용했습니다. 저장 기간을 통해 우리의 결과 또는 이와 유사한 결과를 여러 가지 읽기 : 쓰기 비율 및 개체 교체 비율에 적용 할 수 있습니다.

+2

+1 - 나는 계속 그 종이를 찾고 그 이름을 기억하지 못했습니다. – Oded

0

- 크기가 자주 증가하지 않는다는 것을 알고 있으면 DB에 이미지를 저장할 수 있습니다. 이는 시스템을 배치하거나 새 서버로 마이그레이션 할 때 이점이 있습니다. 당신은 이미지를 별도로 복사하는 것에 대해 걱정할 필요가 없습니다.

그 시스템에서 행의 수가 매우 자주 증가하고 이미지가 부피가 커지면 파일 시스템에 저장하고 나중에 검색 할 수 있도록 데이터베이스에 경로가 저장됩니다. 또한 파일 경로에서 이미지를 개별적으로 복사해야하는 서버를 마이그레이션 할 때도 계속 발목을 잡을 것입니다.

관련 문제