With database systems, performance is always important. A badly designed client/server system can cost a great deal of money and have a shorter life than planned if attention is not paid to the way client applications interact with the server. Even with PC-based systems such as Access, database applications can often become slow, especially when multiple dynamic views of the data are used. Having discussed a wide range of data-access techniques, we now include some rough performance benchmarks. These are intended to show only the rough characteristics of different data-access APIs.
The standard task covered is to insert 1,000 rows into a simple
table. The sample table, named analysis, can be
thought of as a crude repository for financial data; it has four
(currency). To slow it
down a bit, it’s indexed uniquely on
and indexed with
duplicates allowed on
account. Thus any insertion
involves updating three indexes. We created instances of this
database in our sample Access database and in Sybase SQL Anywhere. It
starts off empty. The tests were run on a Pentium 266, with client
and server on the same machine and no other activity taking place.
The source code for the test is in the module
We first used
mxODBC to connect to both the Access and Sybase databases and tried three different techniques, which are ...