Re: Fastest record create method with JET 4.0
- From: "Stephen Howe" <stephenPOINThoweATtns-globalPOINTcom>
- Date: Wed, 13 Sep 2006 18:35:03 +0100
The MSDN article "Data Access Using Data Access Objects (DAO)" states
one of the traits of DAO is "Adequate-to-slow performance." It then
states "Compared to the newer ActiveX Data Objects (ADO) or Remote Data
Objects (RDO) technologies, Data Access Objects (DAO) is a slower, less
capable data access alternative," however I have not known that to be
the case. As you pointed out, the author of that article may have been
making assumptions not based in reality, or perhaps it was true four
years ago with older software.
I have never done the comparisons but if I did so, I would make sure I use
the very best DAO or the very best ADO.
Most of the time, when programmers post here, what they reveal is
sub-optimal ADO.
Given that, how can their benchmarks be objective?
For example, if you are using C or C++ and Recordsets, using
IADORecordBinding gives a small boost (1-10%) as you do not have to deal
with _bstr_t, _variant_t which adds a slight drain.
This is an ancient article but it is still valid
http://www.microsoft.com/technet/prodtechnol/sscomm/reskit/mdacapp.mspx
The article was written before MDAC 2.6 came out so I would use the Record
object for singleton SELECTs (and never a Recordset).
Also Bill Vaughn's articles are very good. This is for SQL Server but much
is relevant for Access:
ADO Performance Best Practices
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsqlmag01/html/bestprac.asp
When I was collecting data from an AS/400 via ODBC, I used ADO. It was
gawdawful slow because IBM's ODBC driver sucked limes, and the AS/400
would refuse to grant me an adequate slice of CPU time. It was also
transported over IBM Token Ring (shudder). One would hope that IBM has
improved their AS/400 connectivity to client machines.... but one never
knows with IBM. :-)
If I was collecting data and it was just that (no updating, no deleting, no
inserting), I would be using a Server-sided, Forward only, Read only cursor
as that is the faster cursor out for nearly all databases. I would also
change the CacheSize to be something adequate. That is with ADO.
Stephen Howe
.
- References:
- Re: Fastest record create method with JET 4.0
- From: Desertphile
- Re: Fastest record create method with JET 4.0
- From: Desertphile
- Re: Fastest record create method with JET 4.0
- From: Stephen Howe
- Re: Fastest record create method with JET 4.0
- From: Ralph
- Re: Fastest record create method with JET 4.0
- From: Desertphile
- Re: Fastest record create method with JET 4.0
- Prev by Date: Re: Fastest record create method with JET 4.0
- Next by Date: Re: Data from MS SQL db to Excel
- Previous by thread: Re: Fastest record create method with JET 4.0
- Next by thread: Re: Fastest record create method with JET 4.0
- Index(es):
Relevant Pages
|
|