2010-02-01 3 views
0

사용자가 몇 가지 옵션을 선택하고 해당 옵션을 기반으로 이미지를 수신하는 시스템이 있습니다. 요청한 그림에 여러 개의 생성 된 이미지 (해당 옵션에 해당)를 결합하려고합니다. 특정 옵션 (예 : 파일이 있음)에 대한 이미지가있는 경우이를 계산할 필요가없고 다음 단계로 넘어갈 수 있도록 최적화하려고합니다.하나의 폴더에서 파일 찾기 (접두사 아는 것)와 여러 폴더에서 파일 찾기 (폴더 이름 아는 것)

이러한 이미지를 다른 폴더에 저장해야합니까? 각 폴더는 옵션 이름입니까? 각 이미지에 옵션에 해당하는 접두어를 추가하여 동일한 폴더에 저장해야합니까? 파일 이름을 데이터베이스에 저장하고 거기에 체크해야합니까? 어떤 방법으로 파일에 존재 여부를 확인하는 것이 더 빠릅니까?

Linux에서 PHP를 사용하고 있지만 프로그래밍 언어 또는 OS를 변경하면 대답이 달라지는 경우에도 관심이 있습니다.

답변

1

이러한 이미지를 많이 제작할 경우 이미지를 하나의 플랫 디렉토리에 모두 저장할 수있는 것처럼 보이지 않습니다. 계층 구조를 사용하면 관리가 훨씬 쉬워집니다.

파일이 있는지 여부를 확인하는 것보다 데이터베이스를 체크인하는 것이 더 빠를 것이므로 속도가 가장 중요한 문제인 경우 계층 구조 폴더 구조를 사용하고 데이터베이스의 모든 파일 이름을 유지하십시오.

+0

첫 번째 단락에는 동의하지만 두 번째 단락에는 동의하지 않습니다. 파일 시스템은 궁극적으로 특수한 종류의 데이터베이스이며, 파일 시스템에 따라 파일 테이블의 존재 여부를 검사하는 것이 데이터베이스 테이블의 항목을 확인하는 것보다 빠를 가능성이 높습니다. 실제로, 그것을 아는 유일한 방법은 그것을 벤치마킹하는 것입니다. – caf

+0

@caf 공정한 포인트. 또한 조기 최적화의 위험이 있습니다. 데이터베이스가 실제로 필요한 시점에서 데이터베이스로 이동할 수도 있습니다. 왜냐하면 데이터베이스가 절대로 필요하지 않을 수도 있기 때문입니다 (어쨌든 차이를 만들 것이라고 가정). – Skilldrick

관련 문제