Re: TADOStoredProc



I really aggre with Paul! What are we really discussion here?

I must say I'm sorry for starting this "battle" by asking Brian what he
meant by saying that using TadoDataset and TadoCommand would be more
"inline".

As I see it it's more a matter of what component you feel comfortable to
use!!!??? To give my non-technical point of view I have always used the
TADOQuery component (sometimes with the TADOConnection component) and I find
it very easy and reliable to use on mid-size databases like 5-8 million
rows.


/Niklas


"Paul Scott" <paul.scott@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> skrev i
meddelandet news:op.tz29ngc8jpqj2l@xxxxxxxxxxxxxxxxxxxxxxxx
On Fri, 12 Oct 2007 01:43:11 +0100, Brian Bushay TeamB <BBushay@xxxxxxxxx>
wrote:

Its not a CPU cycle issue. It is an issue with How ADO handles the
change in the SQL. Every time you add to the SQL it sends those changes
back to the database. That is not efficient so don't use Add() set All
the commandtext or
the SQL.text property


Very good point! I bow to your superior knowledge of the internals of
ADO.

(I don't hit this since I build all my SQL commands in a single delphi
string for logging & timing purposes)


But even though I haven't done any testing (so I'm not letting any
evidence limit my ability to pontificate :) ), I would still guess that it
would be an "unusual" SQL statement where LAN round-trip latencies
/significantly/ outweigh the time needed for the database to analyse
exactly what that SQL was asking for, to determine the best route to
achieve that result from the tables - and, especially, to rattle the
disks, filter and marshal the results and then transfer all that data
back.

Of course, YMMV if your code looks like...
SQL.Clear
SQL.Add ( 'Select' )
SQL.Add ( 'CustomerId,')
SQL.Add ( 'CustomerName,' )
....

My intention was only to say that if anyone is looking to solve a database
performance problem, they may find it more profitable to first look at the
strategy - such as limiting the number of separate database accesses (and
then the amount of data transferred each time) - rather than fiddling with
the tactics.

( Except for remembering to "DisableControls"! )

--
Paul Scott
Information Management Systems
Macclesfield, UK.


.



Relevant Pages

  • Re: IPC method to use
    ... Thanks Paul, well we need to read the data from the local sql ce 3.5 ... going to be serialized and then we send this database data back to the UI ... server via a custom API over http (as opposed to SQL server, ...
    (microsoft.public.dotnet.framework.compactframework)
  • Re: sqlint32 to integer... really?
    ... "Paul S" wrote in message ... > I'm returning an integer from a sp in a SQL 2K database. ... > Dim sequence As Integer = 0 ...
    (microsoft.public.dotnet.framework.adonet)
  • Re: What is wrong with this
    ... I didn't put charity_cause in the select part of the sql ... "Paul M" wrote in message ... > I keep getting this database error but I can't see anything wrong ... > Database Results Wizard Error ...
    (microsoft.public.frontpage.client)
  • Re: CREATE AGGREGATE failed because type Concatenate does not conform to UDAGG specification due to
    ... Go to the Database tab and click on the browse button next to the connection string. ... In the New Database Reference dialog, enter the details for the database where you want to deploy the assembly and create the user defined aggregate. ... I'm trying to do some CLR integration with sql server 2005. ...
    (microsoft.public.sqlserver.programming)
  • CREATE AGGREGATE failed because type Concatenate does not conform to UDAGG specification due to meth
    ... Now register the assembly and the aggregate in the SQL Server database you want ... I'm trying to do some CLR integration with sql server 2005. ...
    (microsoft.public.sqlserver.programming)