A number of users of ArcGIS here at Cranfield University have been recently experiencing similar issues, whereby for no obvious reasons the ArcGIS ‘mxd’ project file suddenly starts to balloon in size. A recent example was a simple project file that became 240Mb in size.
Another side effect of this, and in fact the issue that drew this to our attention, was that GIS projects could start to take 5 or 10 minutes to save. In effect we believe this was due to the size of the project file.
Since this is clearly affecting a number of our users, and apparently we are not alone (see http://forums.arcgis.com/threads/60696-Very-large-MXD-file-sizes-in-10.1), it was investigated. Amongst the solutions discovered we were able to find out about, and so report here, the powerful utilities produced by ESRI entitled MXDDoctor and DocFragmenter (link).
The MXDDoctor helps analyse and fix damaged and potentially corrupted mxd project files. By contrast the DocDefragmenter can realign the data held within an mxd file. The good news is that if you have ArcGIS, you also have these utilities. They are stored in the tools folder of your installation (e.g. C:\Program Files (x86)\ArcGIS\Desktop10.1\Tools). Make sure you have a backup of the MXD file first, close ArcGIS, and then give them a try. For the particular mxd we investigated, the original 240Mb filesize was cut dramatically to 415Kb by the MXDDoctor, and to 159Mb by the DocDefragmenter – clearly one should select and use the tool best suited to the specific circumstance.
As an epilogue to the issue of long project file save times, it also seems that a potential cause of such issues may lie in the way that ArcGIS saves and stores geoprocessing tasks that are, as yet, not run. In ArcCatalog or ArcGIS, following the menu Geoprocessing -> Results shows the ‘Results’ dialogue. Here, along with the options ‘Current Session’ and ‘Shared’, you may also see ‘Previous Session’. Here, under the ‘Not Run’ option, you may find a substantial number of jobs. You may find you can right mouse click this category and delete all the jobs. Doing so seemed to improve the performance as well as using MXDDoctor.