답변:
데이터베이스가 아닌 파일 시스템에 이미지를 저장하는 것이 좋습니다.
데이터베이스에 이미지를 저장하면 몇 가지 단점이 있습니다.
데이터베이스가 예기치 않게 커질 수 있습니다. 때로는 공간이 문제입니다. 예를 들어 SQLServer express에서는 4GB 제한이 있습니다.
예를 들어 SQLServer에서 Oracle로 전환하는 경우 데이터 마이그레이션이 어려울 수 있습니다.
쿼리가 매우 느려질 수 있으며 데이터베이스로드가 높습니다.
이미지가 파일 시스템에 있고 다른 응용 프로그램이 다른 데이터베이스를 사용하는 경우 다른 응용 프로그램과의 상호 운용성이 더 좋습니다. 직접 액세스 할 수 있으며 데이터베이스 도구가 필요하지 않습니다.
전반적인 성능 저하
어쨌든 데이터베이스에서 이미지를 검색 할 때 임시 파일을 작성해야합니다. 불필요합니다.
이러한 단점은 데이터베이스에 저장된 이미지의 경로를 파일 시스템과 동기화하는 비용보다 훨씬 높습니다. 데이터베이스에 이미지를 저장하는 것이 더 좋은 특별한 경우는 거의 없습니다.
: SQL Server 2005의 연구와 NTFS 파일 시스템 (마이크로 소프트) CRUD 성능을 비교하는 BLOB의 제품에 BLOB 여부를 . 이 연구는 웹 응용 프로그램에서도 수행되었습니다. 다른 데이터베이스 (MySQL)를 나열했으며 PHP 사이트에 Windows Server를 사용하지 않는다고 가정하므로 다른 기술에 대해 비슷한 연구를 한 경우 흥미로울 것입니다.
파일 크기에 따라 다릅니다. SQL Server는 256K 이하의 얼룩을 선호하고 파일 시스템은 1MB 이상의 파일을 선호합니다. 이 연구의 파일 시스템은 데이터베이스보다 조각화를 더 잘 처리하므로, 이러한 파일을 지속적으로 업데이트하거나 시간이 지남에 따라이 시스템이 커지면 조각화는 파일 시스템이 더 나은 작업을 수행하는 데 큰 요인이 될 것입니다.
이러한 파일을 유지 관리하는 사이트의 책임을 결정해야합니다. 보험 청구 담당자가 사고 사진을 업로드하도록 사이트를 구축하는 경우 트랜잭션 제어 기능이 더 좋으며 해당 파일이 서버에 있는지 확인하십시오. 훌륭한 데이터베이스가이를 위해 개발자에게 압력을가했습니다.
설계 중에는 복제, 백업, 재해 복구, 조각화, 남은 디스크 용량 및 시간 경과에 따른 성능을 고려해야합니다. 이것은 이전 버전의 SQL Server에 대한 한 가지 연구이며 다른 데이터베이스 제조업체와 마찬가지로 큰 파일과 이진 파일을 처리하는 것이 주요 경쟁 분야라고 생각합니다.