Robert1105 said:
Thanks Albert.
I was wondering if there is any information comparing Jet performance to
MSDE and SQL? We are hoping to obtain performance improvement as we have
7
to 9 users loggin into our solution in many of its applications. Our goal
is
to satify the entry level with MSDE and offer an upsizing opportunity
using
SQL. We are hoping that we will not see less performance with MSDE for
our
entry level users. Are our expectations unrealistic?
You have to remember that MUCH of performance is a issue of design. As I
mentioned, you can't do dumb things like simply open up a form attached to a
large table, and expect the application to run well. If you got designs that
do that now, moving these designs to sql server will be disaster in terms of
performance.
Of course, in the above example, you simply 'ask' the user for a account
number, or whatever BEFORE you load the form. You can still use bound forms,
but you at least need some type of where clause to restrict the record(s)
that the form will work with.
When I mentioned that jet is normally faster then sql server, we are talking
about a single user application without a network. When you go multi-user,
then of course sql server is going to perform better. And, sql server will
scale to more users. Remember, a aircraft carrier and a small speed boat can
both do 40 miles hour on the water. It is just that one can CARRY a lot more
people (4 people vs 5000 people). Note however, that aircraft carrier is NOT
faster then the speed boat. You MUST keep this concept in mind when looking
at your designs. Sql server can carry a larger load, but is NOT necessary
faster.
So, that why I am asking at what point does your application slow down? Is
it ok with 2 users, but when you triple the user load to 6 users, is it now
too slow? And, if it is too slow with one user, then you are in trouble....
So, the first question you have to ask in terms of performance is after how
many users does the application slow down after? Is it ok with 3 users but
then when you got 6 or 7 users (2 times the user load), is the application
now too slow?
It is possible that you now have such large data tables and such large
amounts of data, that you have outgrown the JET engine, and need to switch
to sql server. However, you given no numbers terms of table sizes, and max
number of records in a given table.
Remember, switching to sql server will NOT fix poor performance problems on
it own. Your designs still need to be optimized here.
I have on occasions replaced mini-computer systems with a simple ms-access
file share (no sql server). When to upgrade that application to sql server?
Hum, in that application, I have 4 to 7 users. The application was medium
sized (about 160 forms). The back end part (the shared mdb file) had about
55 tables, and many tables where highly related. With 4 to 7 users on the
phone all day dealing with customers in a VERY interactive way, the
application performs near instant. On the other hand, the tables in this
application are VERY small. Most are only about in the 50,000 to 75,000
record range, and so with such small tables then you don't usually
experience a slow down anyway.
I think there is one form that takes almost 2 seconds to load, but a as
general rule with only 4 to 7 users, and such small data tables this
application really screams. I can't see why this application would not run
fast with 15 users.
So, assuming your data tables are much larger, and you got more users, then
certainly upgrading to sql server makes sense. And, sql server is more
reliable.
Just keep in mind that upgrading to sql server will not fix performance
problems, and we see weekly posts in the sql newsgroups that the ms-access
applications often slow down when converted to sql server. With good
designs, then of course sql server will SCALE to MANY more users,a nd you
should see a performance improvement.