Often, the next question is if JET don't bring down the whole table, then
why is sql server SOOOO much better in terms of reduced bandwidth..and why
does it scale so much better then JET as a file share?
Well, for one thing, all updates with sql server occur server side. So, if I
for example have customer, and I want to void all of the customers invoices,
I can go:
currentdb.Execute "update tblInvoice set Void = true where custid = 123"
In the above, the customer might have 100 invoices. With sql server, only
the above command is sent to the server, and the engine server side executes
the above command, and those 100 invoices are voided..and NO additional
network traffic occurs.
With a jet file share, ALL processing occurs on the pc, that means the 100
records must travel down the wire to the pc, get updated, and then travel
back to the file share. You just make 200 records worth of bandwidth as
compare to sql servers NO records.
And, you rightly pointed out..that if NO index is available..then JET will
grab ALL records down the wire. More important, even if we did a bad job,
and had no indexes on the sql server example..STILL no traffic will occur.
(the hard disk on the server side will get a good workout...but not our
network). So, you can start to see how superior sql server is.
However, if we have a JET file share, and grab a single customer record to
the screen to edit, in both sql server, and JET, there is little traffic IF
we can retrieve the record via some key field like a customer number.
Once the editing of the one record is done..then jet sends it back to the
file share, and in the case of sql server, a sql update string is sent back.
So, in this example..not a whole lot more, or less network traffic occurs in
either case you choose.
However, as the application does more and more..you get more and more cases
where that reduced traffic really starts to add up (and more and more
users). Hence...sql server starts to scale much better.
And, even in those cases when you use ms-access to sql server and there is
NO index...only the one record gets sent..where as with the file share...you
get the whole table...
So, sql server is far more forgiving in some areas when it comes to
efficient use of the network.