1 Reply Latest reply on Feb 4, 2014 4:02 PM by Charley Saint

    Search performance and folders

    Jason Capriotti

      I just spent the last 2 weeks restructuring one of the folders in our vault and its has speed up searching quite a bit. When we first implmented ePDM, we migrated in PDFs of all revisions of all engineering drawings we have, about 100,000 pdfs. Our folder structure was a top level folder called "Drawings(PDFs)" followed by about 10 sub folders starting with the drawing number like 1XXXX, 2XXXX, 3XXXX, etc. Then under those, a sub folder was created for each drawing number which contained a PDF for each drawing revision. This entired structure totally about 50,000 subfolders. Searching for a particular drawing usually took around 10 seconds for the search to complete.

       

      I decided to restructure the folders to remove the individual sub folders for each drawing number and created subfolders like:

       

      \Drawings(PDF)\1\10XXX

      \Drawings(PDF)\1\11XXX

      \Drawings(PDF)\1\12XXX

      etc...

       

      \Drawings(PDF)\2\20XXX

      \Drawings(PDF)\2\21XXX

      \Drawings(PDF)\2\22XXX

      etc...

       

      Ultimately we ended up with about 150 subfolders instead of the 50,000 subfolders.

       

      Search times dropped in half.....about 4-5 seconds instead of 10 depending on the search criteria. We are still on 2012 but testing on 2014 showed it even faster shaving off another second or two.

       

      So having a large number fo sub-folders may neagatively affect your searches.....just something to watch out for. I think the reason for this is in an explanation I received from SolidWorks about why the PDM search wasn't as fast as a query I had written. The search tool considers file, folder, and state permisions for the logged in user to determine whether to display it. I think those 50,000 folders was burdening the search.

        • Re: Search performance and folders
          Charley Saint

          Jason,

           

          That absolutely makes sense. If you look at the UserProjectRights or GroupProjectRights tables you'll see it stores a record for each user/folder combination and for each group/folder combination. So if you have files across 50000 folders then you have to scan 100000 permissions assuming the logged in user only has 1 group, I'd say lowering that number to 300 would have a significant impact on search performance.