문제

나는 사람들의 유지 보수 화면을 만들었습니다. 클라이언트는 데이터베이스에 모든 사람의 사진을 저장하기를 원하고 문제없이 만들었습니다. ID_Person과 이미지의 두 필드가있는 이미지에 대한 별도의 테이블이 있습니다.

데이터베이스에서 이미지로 작업 한 것은 처음이기 때문에 조금 걱정됩니다. 테이블이 1000/5000 이미지를 넘어서 자라면 성능 문제가 있습니까? 나는 모든 이미지의 크기가 차이를 만들 것이라고 생각합니다. 사용자가 데이터베이스에 큰 이미지를 저장하지 않도록 제어해야한다고 확신합니다.

좋은 크기 제한은 무엇입니까? 클라이언트는 얼굴의 사진 만 필요하지만 누군가가 "마지막 모델"카메라로 전체 품질로 사진을 만들려고 할 것이라고 확신합니다.)

감사.

도움이 되었습니까?

해결책

일반적으로 이미지 폴더를 유지하고 DB는 해당 폴더 만 참조하는 것이 좋습니다. 이상적으로는 각 사람에게 고유 한 ID와 "Images"폴더의 파일이 해당 ID와 일치합니다.

이진 데이터를 직접 저장하려면 8KB의 JPEG (약 250x250 pix @ 25% 품질)로 합리적인 품질 사진을 얻을 수 있습니다. 물론 이것은 인쇄에는 용납 할 수 없지만 식별에는 적합합니다.

데이터베이스 서버에서 행 당 추가 8KB를 수락 할 수 있는지 알 수 있습니다.

다른 팁

당신이 이런 식으로 이런 식으로해야한다면, 나는 그것을 각각 몇 킬로 바이트로 제한한다고 말할 것입니다. 그러나 세계의 모든 데이터베이스 관리자는 아마도 데이터베이스 필드에 이미지를 빙글 빙글 빙글 빙글 다른 사람이 매우 나쁜 생각이라고 말할 것입니다. 데이터베이스 파일의 크기가 두 기가 바이트를 넘어서 자라면 성능이 크게 줄어드는 것을 보게 될 것입니다.

Jheddings가 말한대로 수행하고 각 사람의 ID가있는 폴더가 파일 이름이며 네트워크 공유에서 표준 .jpg 또는 무언가를 사용하여 앱을 사용하는 모든 컴퓨터가 이미지에 액세스 할 수 있습니다.

일부는 사진을 삭제하거나 보관 해야하는 경우 ID를 사용하는 것이 충분하지 않다는 것을 알게됩니다.이 경우 NVarchar (MAX) 필드를 데이터베이스에 넣고 실제 대신 네트워크 파일 경로를 이미지에 저장합니다. 영상.

고객이 절대적으로 네트워크 공유 경로를 가질 수 없다면 이미지를 막을 수 있습니다.

ID | blob 만있는 별도의 테이블에있는 한 해당 사진을 가져 오는 성능 문제는 없지만 다른 쪽에서는 DB로 유지하는 것이 좋습니다. ID 1이있는 사용자가 /images/1.jpg로 이동하기 때문에 참조가 필요하지 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top