More Slow Performance Questions

D

Donna

Hi!

I just split my access database and the performance is horrible! I've been
reading all the articles posted on increasing performance, but was wondering
if someone could explain -in really simple language- why the unsplit database
(located on a server, buried in a folder) runs so much faster than the split
one. Same location, only difference is the split. I've read all the
solutions but want to know the cause.

Thanks...
Donna
 
6

'69 Camaro

Hi, Donna.
I've read all the
solutions but want to know the cause.

It's much slower because you built the database for a single user who opens
the database located on his own workstation, not for a networked, multiuser
database application.

Does the front end reside on your own workstation or on the server? If it's
on the server, then your computer has to make multiple requests across the
network to retrieve data for multiple files.

Really simple language = "Two calls take more than twice as long as one
call, because you have to wait in line to make the second call."

Does your front end maintain a persistent connection to the back end? If
not, the locking database file will be established each time a connection to
one of the tables in the back end is needed. That means that the Windows
Networking API's have to be checked on every directory in the path to ensure
that your User ID has permission to access that directory. The deeper down
the directory structure, then the more times these Windows Networking API's
get called. And then the .LDB file has to be created. This can take a lot
of extra time.

Really simple language = "Take one step forward. Dig through your purse and
find your wallet to check the name on your drivers license, the state that
issued it, and whether the drivers license expiration date is valid, then put
the wallet back in your purse. Report the results to your boss. Take
another step forward. Dig through your purse and find your wallet to check
the name on your drivers license, the state that issued it, and whether the
drivers license expiration date is valid, then put the wallet back in your
purse. Report the results to your boss. Take another step forward . . . "
and so on for every directory in the path. When you get to your destination,
build the desk and chair you'll be working on while you're there.

Does the path or file name use Windows long name conventions or the old DOS
8.3 naming conventions? If it's not DOS 8.3, then the Windows Long Names API
has to be consulted to resolve the name.

Really simple language = "Call your co-worker on the phone and ask, 'How do
you spell <insert any word here>. Wait for your co-worker to look it up in
the dictionary, then write it down for you, then walk over to your desk from
his office across the building to hand you the slip of paper. After you
finish all the other tasks you've been assigned while you were waiting, you
read it."

I could go on, but I think you get the idea. Now go implement those
solutions you've found. And remember, primary keys and indexes are your best
friends.

HTH.
Gunny

See http://www.QBuilt.com for all your database needs.
See http://www.Access.QBuilt.com for Microsoft Access tips.

(Please remove ZERO_SPAM from my reply E-mail address so that a message will
be forwarded to me.)
- - -
If my answer has helped you, please sign in and answer yes to the question
"Did this post answer your question?" at the bottom of the message, which
adds your question and the answers to the database of answers. Remember that
questions answered the quickest are often from those who have a history of
rewarding the contributors who have taken the time to answer questions
correctly.
 
A

Albert D.Kallal

You got a good explain in the other post here.

Basically, what happens is that the locking file (the ldb file) is created
WHEN you open a table. (normally with a un-spilt system, the ldb file is
created right away at open time). So, this creating of the locking file, and
the attempts by ms-access to setup, and grab this locking file is what
causes the slow down).

Bottom line:

Keep a persistent connection open from the front end to the back end,
and this "slow slow" process will only occur ONE TIME....

So, just force the connection to stay open, and you eliminate the HUGE
amount of time to create/setup/open/delete/maintain the locking file...

Forcing the connection open will restore performance to un-split levels.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads

Speed improvement with split 11
Access 2007 Bloating 8
More Shared Dbase questions 0
Multiple Users 4
Keep Some Tables in the Front End? 2
Slow Performance 0
Performance question 9
printing reports = super slow 3

Top