2013-01-06 4 views
0

각 사용자가 자신의 계정에 이미지를 업로드 할 수 있도록 사용자 인증 시스템을 갖춘 웹 사이트를 구축하고 있습니다. 본질적으로 웹 개발 환경에서이 작업을 수행하고 있으므로이 항목에 대한 내 무지를 용서하십시오.디렉토리의 파일 검색 효율성?

내 질문에는 파일을 디렉토리에 배치하는 것이 포함됩니다. 더 깊은 디렉토리 구조를 만들거나 모든 파일을 하나의 폴더에 저장하는 것이 더 효율적입니까? 전자는 명백한 것처럼 보이지만 파일 시스템에 의해 구현 된 검색 알고리즘에 의존하지는 않습니까? 예를 들어

:

root/user/2012/----------------A/ 
     /2013/---------- A/ B/ 
     /2014/------A/ B/ C/ 
        B/ C/ D/ 
        C/ D/ 
        D/ 

또는 하나의 폴더에 모든 파일을 덤프?

화상이 방법은보다 효율적인 결과를 제공하는 <img> 태그, 예를 들면, 검색된
root/user/ 

? 주제에 대한 정보를 Google에서 검색했지만 명확한 내용이나 이해 수준에서 찾을 수 없습니다.

답변

2

하나의 파일에 액세스하는 것은 대략 동일해야합니다. 단일 디렉토리 또는 다중 선택은 파일 목록을 사용하는 방법에 따라 달라집니다. 사용자에게 수천 개의 파일이 있고 한 번에 한 해만 표시하려면 디렉토리 구조를 여러 섹션으로 분할하여 파일 목록을 관리하기 쉬운 상태로 유지하는 것이 좋습니다. 항상 모든 파일을 표시하는 경우 여러 파일 목록을 나열하는 전체 디렉토리 목록을 실행해야하므로 단일 폴더가 더 빠를 것으로 판단됩니다. 귀하의 앱이 처리해야 할 것으로 기대되는 것을 기반으로 몇 가지 테스트를 수행 할 것입니다. 당신이 파일의 큰 숫자를 기대하고 당신이 목록을 무너 뜨릴 수 없다면, 내 생각 엔 단일 디렉토리가 좋을 것입니다.

1

당신이 어떤 OS를 실행할 지 알고 싶지는 않지만 여러 디렉토리 접근법을 사용하면 (예 : Windows의 NTFS) 단일 디렉토리의 10000+ 파일을 처리 할 때 속도가 느려질 것입니다.

+0

램프 서버 스택 – Michael

+0

어, 어쨌든 NTFS는 1M 파일/디렉토리 이상에서 정상적으로 작동합니다 (테스트 해 보았습니다). POWERSHELL, CMD, Explorer와 같은 다양한 도구는 모든 것을 열거하고 작업을 수행하기 때문에 꽤 나쁘게 사용됩니다. – MJZ

+0

winXP에서 10K 조금 넘는 문제가있었습니다. 어쩌면 그들은 무언가를 향상 시켰습니다. – radai