Some users access the Microsoft Access 97 database through a Web user interface and others directly to the MDB file. Will it speed Web access if I create a linked database that has all of my objects (other than tables) and is linked to the “data-only” or “back-end” database (with no objects except tables to be accessed via the Web UI)? Or does it not matter since the Web UI is calling the table data directly? Will a linked database help if I happen to be accessing data at the same time a Web user is?
Splitting the Access database will not improve performance. If anything, it might cause performance degradation if both databases are open and being used simultaneously. Remember that Access databases never were optimized for multi-user applications. They can get by, but Web performance will never be optimal while read/writing with an Access database at run time.
You do have an option, however. You can achieve very good performance if you anticipate what is the bulk of the data that will be requested by user pages in your application and load that data into an object at run time. Because the object exists in RAM, you will be loading your data into RAM, eliminating a lot disk (database) access and increasing speed dramatically. A couple of objects that you could use to load the data include Dictionary objects, recordset objects, and simple arrays. Arrays may be the fastest since they will bring the least overhead, but they may be a bit more difficult to work with. You will load (read from the database into the storage object) this data when the application starts up. It will take a little longer to start, but the runtime performance will be excellent.