Why is Access slow on Client computers across wireless network?

Curious

Registered User.
Local time
Tomorrow, 03:38
Joined
Oct 4, 2005
Messages
53
I have completed a database for a company with 60 000 clients and over 100 000 job records.

The database works at very resonable speeds on the Server computer, or the computer on which I installed the back end of the database.

Each of the other 3 computers on the wireless network, have a local copy of the Front End on their machine, and reference the Back End (BE) on the server computer.

Each of the Client computers have varing speeds when accessing the BE, some as slow as 10 minutes for a simple search, filter or just loading a form.

What can I do to improve performance across the network?

Do I need to install additional components on the other computers to improve the db performance?

Your help will be much appreciated.

Joseph.
 
Is it really the Access db? How fast are large data file transfers between the PC and the wireless network?

I have read that Access db's should not be on a wireless network. I [we] know that Access is not happy if the connection to the db [front end to the back end or vice versa] is too slow or disconnected. Once the front end is disconnected from the back end the front end is locked up and any pending data changes are lost. The user has to reboot their PC to get their connection back to the network.

Wireless networks are not the most stable beasts and that is why I agree that Access db's should not be accessed through a wireless network. I have never tried it but I would love for somebody to post back with their success stories for using Access db's with a wireless network.
 
Replacing Wireless network with ethernet cables helped a little

Hi ghudson,

I took your advice and tried to hardwire the wireless network instead.

It showed small improvements in the db access speed.

Also, the FE doesn't seem to be locking up, or timing out, it does get the data from the BE eventually. It just takes far too long for business purposes.

It seems that the combo boxes are causing problems. I created quite a few combo boxes for the forms to help with data entry. Just simple things like, looking up the Title, E.g. Mrs. Ms. Mr. , etc.

Apparently, the form keeps trying to caculate something when it gets to the field with these combo boxes. Some of them are run by SQL queries, others are simply lists, like the Title combo box.

Can I install an additional driver / software upgrade to help the computer handle SQL requests more quickly?

Any ideas what's going on?
 
heya, jumping onto this late but i've been experiencing similar problems.

database querying and populating listviews seem to be fine over a wireless network. what IS odd though is trying to edit/enter text into a textbox of an UNBOUIND form!!!

sorry i can't help you with your issues but im having general problems too with WiFi and Access...

if the form was bound then i'd somewhat understand, but when you have an unbound form and entering a character into a text box of that form taking several seconds to enter - thats just damn freaky!

reading abit more on the web, i think i might have to try running the databases locally and synchronising the BE's....

thoughts?
 
There are a few threads here on the subject of optimizing performance. You might try keyword "Performance" to search this forum.

In general, Access is not network-friendly because to Access, a BE on a server is on a FILE server. Access has to pull the file into your local computer to get what it wants.

I'll be honest, 60,000-100,000 records isn't that many for a DB. We have a few folks who report using twice that. But... having said that, I'll add that the specifics of your tables can have a lot to do with speed.

For instance, if the tables have many fields AND they have many records, too, you MIGHT consider a performance enhancement of sorts. It is truly apostasy to some, but a one-to-one table mapping (i.e. SPLIT your big tables) might be productive. What you would do is put the searchable fields in a table and the supplemental fields in another table. Then, build a query that searches your search-field tables. Then build a query that JOINS the supplemental data table to the search-query on the resultant prime keys.

You would do this because of BUFFERS. Access reads records into memory buffers. The longer the record, the fewer records per buffer. The fewer records per buffer, the more disk reads you must do. The more disk reads you must do, the slower your DB will get. So... make the initial query that searches for specific criteria have a smaller record to search, thus getting more data per disk read. THEN take advantage of the one-to-one relationship to grab only the selected record details. Access will do this right if you isolate the search query from the query that gets you the final data set. Stated another way, by forcing Access to evaluate the search query first, you reduce the size of the (virtual) hypergeometric space you are searching. (Yeah, that usually throws folks for a loop - but it is true.)

This is one of the few cases where a split of a single table to a pair of tables having a one-to-one relationship makes sense, and only for performance reasons.

You will also find comments in some threads, if you search far enough, to assure that you have proper indexes on all fields you want to search and NO OTHER FIELDS should have indexes. (Indices?) This is also a good idea.

The only other option, if you find that no amount of tweaking helps, is to invest in SQL server and put it on a "hot" box. For example, HP Pavilions have dual-core or better CPUs, 2.8 - 3.2 GHz CPU speed, and can handle SATA or other fast disks spinnning at 7,200-10,000 RPM. Dell and IBM have comparable models. Nor are we talking incredibly expensive machines. An HP such as I described was available two years ago or more from one of the Sam Walton stores for about $1700 and change WITH a big flat-panel screen and a pretty good video card.

Make one of those your server for SQL server and watch it fly. Or get a fiber-channel disk with even better transfer rates if you want your system to scream. And if you are going to make that investment, make the data disk RAID-1, since either member of a RAID pair can respond to an I/O request. This almost doubles your query performance for a well-designed database.

Nobody said it was going to be cheap to speed up your DB, least of all me. But this IS a case where "throwing money at a problem" can help it at least somewhat.
 
thanks doc for your comments!

but how about editing a text box on an unbound form? theres noway a wireless BE data file could be effecting its performance, surely!

im going to test tonite with a near blank form and 1 control and no startup events!!!
 
The question is what code is behind the text box, including AfterUpdate code that has implied queries.
 
Found the missing Link!

I never did get around to telling how the problem was solved.

It was due to a missing Join between the largest Table (Jobs) and the 2nd largest Table (Customers).

I had a combo box on the main form for entering in new jobs. This would reference the customers table to lookup customer data. At some stage during our upgrades, I needed to delete the join between these two tables to change some Customer's data related to the primary key in this table.

Several versions later, I'd forgotten to relink the Jobs Table to the Customer Table. Needless to say, the combo box seemed to be building 10s of 1000s of records when the user just opened the form.

We discovered it by investigating relationships from previous database versions.

The company has now been using the database over a wireless network for more than 12 months and have not reported any more problems with slow db connections accross the network.
 
Last edited:
Aha! You had what is called a CARTESIAN JOIN (or a PERMUTATION JOIN) in which you don't match every record in table A with every matching table in table B. You match every record in A with every record in B. (Which is why it is called a permutation join).

Yup, that'll kill performance every time.
 
Hi Curious,
Thanks for taking the time to post back with your success. Here's at least one case where using Access over a wireless network seems to be working.
 
The question is what code is behind the text box, including AfterUpdate code that has implied queries.

there are NO events on the textbox, Change, AfterUpdate or otherwise!

somethings definately fishy!!! :(
 

Users who are viewing this thread

Back
Top Bottom