T
Tom Ellison
Dear friends:
I am a SQL developer known personally to most of the MVPs ( I have been one
for 5 years, and hope to be again soon). They know I am a proponent of the
superiority of SQL Server to Jet. This has been no secret for those 5
years.
My recent experience has trumped that to an incredible degree.
A client brought me an existing application that searched a large Jet table
(3 million rows) using an average of 80 queries. I obtained an improvement
in performance using Jet of 8:1 by adding an index.
I have just converted the database to SQL Express and made the same index a
clustered index. 4 hours of processing is now 64 seconds. I had brought it
down to half an hour with the Jet index, but Express is 30 times as fast.
These are all very simple queries, filtering on a set of rows by 10 or so
columns.
To me, the most incredible feat is that Express creates a clustered index
(effectively sorting all the rows into physical order on that column) in
less than 4 minutes. That was 2 gigabytes just of unindexed data in Jet,
being 3 million rows. This 4 minutes of one-time overhead results in
changing 20 hours of searching daily to about 5 minutes. I had reduced that
searching to about 2-1/2 hours by indexing in Jet.
My clients have been repeatedly pleased with what I have been enabled to do
using MSDE, and now Express. I recommend these skills to all my expert
friends.
I can take only the smallest proportion of credit for this. It multiplies
my skills hugely to have this tool in my box. Sometimes I think my biggest
skill is just the phrase, "let's convert that to SQL Server."
I have heard repeatedly from my MVP friends that Jet is the equal if not
superior to SQL Server in performance for simple queries. In this case, for
very simple queries, Express beat Jet 15:1. Because of memory cache, if I
had a gigabyte more memory in the system, the ratio would have been much
greater. If this had been my server, it would have had that memory, and
more.
Thanks to Andrew Kelly in the SQL performance forum for reminding me that a
clustered index is your best key to performance. It was phenomenal.
The remaining project is just to change what is done in the Access front end
to be pass-thru queries.
Tom Ellison
I am a SQL developer known personally to most of the MVPs ( I have been one
for 5 years, and hope to be again soon). They know I am a proponent of the
superiority of SQL Server to Jet. This has been no secret for those 5
years.
My recent experience has trumped that to an incredible degree.
A client brought me an existing application that searched a large Jet table
(3 million rows) using an average of 80 queries. I obtained an improvement
in performance using Jet of 8:1 by adding an index.
I have just converted the database to SQL Express and made the same index a
clustered index. 4 hours of processing is now 64 seconds. I had brought it
down to half an hour with the Jet index, but Express is 30 times as fast.
These are all very simple queries, filtering on a set of rows by 10 or so
columns.
To me, the most incredible feat is that Express creates a clustered index
(effectively sorting all the rows into physical order on that column) in
less than 4 minutes. That was 2 gigabytes just of unindexed data in Jet,
being 3 million rows. This 4 minutes of one-time overhead results in
changing 20 hours of searching daily to about 5 minutes. I had reduced that
searching to about 2-1/2 hours by indexing in Jet.
My clients have been repeatedly pleased with what I have been enabled to do
using MSDE, and now Express. I recommend these skills to all my expert
friends.
I can take only the smallest proportion of credit for this. It multiplies
my skills hugely to have this tool in my box. Sometimes I think my biggest
skill is just the phrase, "let's convert that to SQL Server."
I have heard repeatedly from my MVP friends that Jet is the equal if not
superior to SQL Server in performance for simple queries. In this case, for
very simple queries, Express beat Jet 15:1. Because of memory cache, if I
had a gigabyte more memory in the system, the ratio would have been much
greater. If this had been my server, it would have had that memory, and
more.
Thanks to Andrew Kelly in the SQL performance forum for reminding me that a
clustered index is your best key to performance. It was phenomenal.
The remaining project is just to change what is done in the Access front end
to be pass-thru queries.
Tom Ellison