Split ACCESS dbs and Network Traffic

AshikHusein

Registered User.
Local time
Today, 14:01
Joined
Feb 7, 2003
Messages
147
I have a general quetion about ntwork traffic with reference to ACCESS.

If I have a BE/FE split setup with linked Access tables and if an FE opens a recordset ( as in DAO.Recordset or ADODB.Recordset), what is the process that ACCESS follows:

Does it first send the whole table over the network and then filters the table as per SQL statement of the recordset being created, after which it destroys the table from the computers memory leaving only the recordset in memory

OR

only the recordset, filtered as per the SQL statement, comes into the memory of the local computer?

Also, are the linkd tables in every FE just pointers to the tables in the BE or are they active connections which add to network traffic. My knowledge of networks is less than elemntary so please excuse me if something is not sounding right here.

The BE is also ACCESS. Thank you.
 
What you must think of when you ask this type of question (which has been answered here before) is where is the database engine running? There is no MSAccess engine running on your BE, so all I/O (input/output) is handled by the FE. Typically you can think of an Access BE as being a file on a server. A link to that table in the BE is just that, a pointer to that DB/table. Now the amount of data sent across the network depends on how the DB/APP is designed. If you issue a SELECT * FROM MyTable, then all the data is brought across the network (forgetting about how the display side works). If however you use a criteria on an indexed field, it should bring the indexes across to make record selections, then only access the proper rows from that. Less network traffic. This typically is not how larger DB's like SqlServer work that have an actual engine on the server that does the data selection for you and sends the selected data only (ideally, however your design still can over ride that).
I think Access does not bring the whole recordset across in all cases. If you open a table, I think it brings back a portion of the main data, and waits until you access the portion not residing locally (memory, temp table whatever) to "go get it" to limit network traffic. I am basing this on older versions of MSAccess when I had 30 MB hard drives with 3 MB free and 1 MB of memory, and I could display a 6 MB table and it didn't give me an out of memory error until I scrolled near the end (as an example).
Of course I could be wrong.
 

Users who are viewing this thread

Back
Top Bottom