Results 1 to 4 of 4
  1. #1
    smikkelsen is offline Advanced Beginner
    Windows 7 Access 2007
    Join Date
    Mar 2010
    Posts
    60

    Database performance issues

    I have a front end / back end database set up with multi user environment. I have front end distributed to each users computer, and a shared back end on the network. It has worked great for nearly a year, but as its grown in size and number of users, I have started experiencing database corruption almost weekly.

    I am wondering if moving the backend to a mysql server and linking tables using ODBC would solve this, or if there is a better solution.

    Also, I did export all my tables to a mysql backend and connected the front end just to test. Everything seemed to work fine except the fact that it is unreasonably slow.



    I have one main table with customer data, and one relational table with "notes" for the customer. The main table has almost 8,000 records, and the notes table has 10,000. I have query on the front end that cuts the 8,000 records down to only about 300 records or so at the most. I then have a form that is based on that query. Is there some major design flaw that i'm missing to cause the database to be so slow? Or is that just what i'm going to get with a mysql database?

  2. #2
    SoftwareMatters is offline Access VBA Developers
    Windows XP Access 2003
    Join Date
    Mar 2009
    Location
    Dorset
    Posts
    274
    Firstly I have found 2007 to be the slowest version I've used but the database you have described sounds quite small in terms of complexity and recordcount so you shouldn't be having real performance issuses - what OS are you using? And, how many concurrent users are there?

    Some things to try:

    If you don't already - compact the back on a daily basis.

    Also, I would test the database in a controlled way i.e. single-user locally then single-user over a network then multiple user etc. This should give you an idea where the problem is as it might be your network or pc performance rather than Access.

  3. #3
    smikkelsen is offline Advanced Beginner
    Windows 7 Access 2007
    Join Date
    Mar 2010
    Posts
    60
    Thanks for the info. Its actually running plenty fast as it is now. (the front end on the local machine, and the backend on a shared drive).

    The performance issues came in with my test ODBC connection to a mysql database.

    I just have a bluehost account that I created a new db on and exported all my tables to. I then linked them with ODBC 5.1 and all worked as expected, only i was in some cases waiting 45 seconds for a form to open. This is not the case at all on our network setup now. I just wanted to move everything to mysql server so it can be accessed from the office and from home without needing a vpm connection. I also hoped it would solve our weekly corruption problem. I got some #deleted# records today again and had to run some code to recover table again.

    Thanks again for the help.

    EDIT:
    Sorry forgot to asnwer your question!

    We have 9 max users, but usually only 3 or 4 at once. On heavy times of day, we might have 6 at once, but not usually.

    Thanks!

  4. #4
    pbaldy's Avatar
    pbaldy is offline Who is John Galt?
    Windows XP Access 2007
    Join Date
    Feb 2010
    Location
    Nevada, USA
    Posts
    22,521
    I agree that you don't have much data. I don't think your problem is mysql, it's that you're working over the internet. Here's a pretty thorough article on the topic:

    http://www.kallal.ca/Wan/Wans.html


    Note down a ways the section that starts with "
    Use a true client to server setup", which offers some alternatives. You might be able to get your application to work well over the internet, but you need to, as Albert says, "optimize your Access
    application". As you currently have things, I suspect it's pulling that whole 10k table over the wire, which is why it takes so long. You need to come up with ways to stop that. If a form is used for data entry, make sure to open it that way so no existing records get pulled. I haven't used mysql but I use SQL Server a lot. I assume mysql has similar tools that let you force processing to the server so only results get sent over the wire, not entire tables. Examples are pass-through queries, stored procedures and views.
    Paul (wino moderator)
    MS Access MVP 2007-2019
    www.BaldyWeb.com

Please reply to this thread with any new information or opinions.

Similar Threads

  1. Risk/Issues Database
    By glassarchitect in forum Database Design
    Replies: 1
    Last Post: 12-01-2010, 09:17 AM
  2. db Performance Over Network
    By dbuck in forum Access
    Replies: 2
    Last Post: 09-20-2010, 09:58 AM
  3. Replies: 3
    Last Post: 08-31-2010, 12:44 PM
  4. Performance Issues with Replica databases
    By accessgenie in forum Access
    Replies: 1
    Last Post: 12-05-2009, 10:03 AM
  5. connection performance
    By DanM in forum Programming
    Replies: 0
    Last Post: 08-24-2008, 08:25 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Other Forums: Microsoft Office Forums