Multiuser network response time is very slow

My application accesses .dbf's by a path to a mapped drive on the server. Each user has the map on their desktop machine.

As soon as the second user opens the applications the repsonse time for all users goes from 1-2 seconds to 40 seconds or more.

The application is trying to fill in a datagrid from the records comming back from the server.

I am using .dbf's with properly indexed files to do the access. ie:
use table.dbf
set index to aindex.idx
Then I use a do loop to skip trough the table untill the criteria for the selection is no longer met.

I do not lock or need to lock any records as this is read only.

Are there settings in mutilock... cursorproperties... anything that can help with this?

Thanks, Steve R.
SRabidouAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Olaf DoschkeSoftware DeveloperCommented:
The first bad thing is you use IDX indexes, CDX indexes are shorter (compact) and you can use many tags in one CDX file which is automatically used. looping through a dbf, even when it's in order by an index is slow. The real proper use of indexes for performance is using them for seeking or rushmore optimazation of where clauses, you use them for ordering purposes only. This makes a table scan even slower than scanning in physical record order. Use SQL Select to retrieve the data fulfilling the "criteria for the selection". Use a View if that data should be updatable.

Bye, Olaf.
0
CarlWarnerCommented:
There are lots of ways to tweak for performance.  The use of CDX index file types is preferred and used by all Fox developers I know of.

Also, you may want to consider trying to open the table differently since you are saying it is for read only access anyway.  Try using the NOUPDATE clause when you open that table.

Instead of :
use table.dbf
try:
use table.dbf  NOUPDATE

USE Command
http://msdn.microsoft.com/en-us/library/5e8201te(VS.80).aspx
0
CarlWarnerCommented:
How To Optimize FoxPro Performance on a Network
http://support.microsoft.com/kb/102786/en-us
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Networking

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.