Recently, I converted two customer databases from FileMaker 11 to FileMaker 12. Both customers were embedding documents in the database by inserting them into container fields. The result in each case was database bloat—a file size much larger than necessary (1GB or greater).
The disadvantages of a large database in FileMaker are several including slower performance (more data to push over network), lower productivity (long wait times during backups), and greater risk (more susceptible to corruption in the event of a crash). Fortunately, FileMaker 12 has a new feature called Enhanced (or external) Container Fields to address this.
For each database, I converted it by dragging the file onto the icon for FileMaker 12 and going through the automatic conversion process. Next, I opened the database and sorted the field list by “field type”.
Next, I went through each table looking for the any container fields. (You could also use BaseElements or Inspector to search by field type.) For each container field, I changed the storage option to “Store container data externally” under Field Options.
Finally, I closed the Manage Database window to save the changes. FileMaker Pro started moving the documents in the container fields to a folder called “Files” outside the database. It then compressed the database to reclaim the unused space.
The results were impressive. For the first database, there was one container field in one table with 68K records. Each record stored one thumbnail image. By moving the container data to external storage, the database size was reduced 46.5% (750MB to 400MB).
For the second database, there were twelve container fields in one table with 750 records. Each record stored multiple images and PDFs that were not optimized. Moving the container data to external storage reduced the file size by 99% (2.3GB to 3.4MB)
The conclusion is obvious. Stop embedding documents in your database! It increases the file size unnecessarily and creates the negative effects mentioned above. Of course, you have to upgrade to FileMaker 12 to take advantage of this new feature. The only caveat is to test the functionality of the new database before deploying it to production (just in case).