File Geodatabases are great. Since they don’t support multi-user editing or long transactions or any of the rigor of a formal database management system you of course can’t use them to directly support an enterprise implementation. But, if you’re providing extracts for analysis or viewing or whatever, they’re ready-to-use, can hold a basically unlimited amount of data, and for most purposes they are fast. Very fast.
However, in our experience there is one scenario where they are not so fast. And that’s when you need to make extensive use of “join layers”. Here’s an example.
- Feature Class: 51,000 polyline features
- Related Table: ~50,000 with 1 to 1 relationship with polyline features
- ArcMap map join keeping only matched records
- Symbolize ArcMap layer based on field in the related table
Add a definition query to the joined layer based on a character field in the joined table and we get these results.
Finally, as a measure of analysis function performance we opened the layer’s attribute and performed a “Summarize” to get a count of unique values for a character field in the related table. Here are the results.
The absolute numbers we report above clearly aren’t that large, but on a percentage basis operations on the join layer in MS-Access are about 5 times faster than the same operation in the File Geodatabase.
Don’t get us wrong, we still love file Geodatabases. And if you’re comparing them with PGDB’s remember the 2DB MS-Access limitation. However, if what you need is fast performance for feature classes joined to related tables, consider the good old MS-Access Personal Geodatabase.