Thinking that it was a network issue I have been through the loop with hosts
file, different connection string options and sql server login types all to
no effect. Totally bemused I then removed the ORDER BY clause from the
stored procedure (index in place!) and the delay disappears and the results
are returned and loaded into the dataset almost as quickly as running Query
Analyzer. Infact much to my surprise adding the RowSort to the dataset had
no imapact at all. This does not make sense to me!
So why is there this delay when the stored procedure is called from adonet?
Mark
Do you get the same behaviour/response time when the database is local to
the app? there was a discussion here about tcpip permissions on the network
slowing things down when the server was remote and the suggestion here was
to present your data via a webservice to remove the lag caused by tcpip
permission checking
Further discussion here has suggested the fastest bulk load data transfer is
with File io, so if you really need 50k records consider output to XML from
your stored procedure and a read from xml into dataset on the client side.
I am always interested in other peoples ado perfromance threads as I dont
have access to large amounts of real data
Colin
"Mark Barton" <mar...@it-consultancy.co.uk> wrote in message
news:v2o0qje...@corp.supernews.com...
hth
--
____________________________________
Bill Vaughn
www.betav.com
Please reply only to the newsgroup so that others can benefit.
This posting is provided "AS IS" with no warranties, and confers no rights.
__________________________________
<colin> wrote in message news:uqZQ$7KwCHA.2472@TK2MSFTNGP12...
On the large data set front I keep seeing posts about adonet performance and
reduce the size of data to solve the problem. In most cases I agree and do
that wherever possible, however the disconnected nature of adonet and the
concept of multi record edits and bulk saves goes against that concept and
in any case from a SQL Server and prospective there shouldn't be a problem.
Running Query analyzer I can transfer these 50,000 records from the server
to my pc in around 800ms, its adonet that seems to be the bottleneck. I
don't recall having these sorts of problems with C++ and ADO.
Mark
"William (Bill) Vaughn" <billvaRe...@nwlink.com> wrote in message
news:Oj$84MLwCHA.2516@TK2MSFTNGP09...
Consider as well that the server-side sort has to pass the entire rowset
through the ORDER BY mechanism fairly early in the query plan. If the rowset
is not that large, it's often faster to sort client-side.
--
____________________________________
Bill Vaughn
www.betav.com
Please reply only to the newsgroup so that others can benefit.
This posting is provided "AS IS" with no warranties, and confers no rights.
__________________________________
"Mark Barton" <mar...@it-consultancy.co.uk> wrote in message
news:v2omul8...@corp.supernews.com...
try profiler and also try stepping through the proc with the debugger,
Ensure you are testing like for like ensure you use the same permissions to
connect Query analyser with the same username and password as the
application, use domain admin permissions if possible, try using mixed mode
security on the sql server with an sa account if possible, it will remove
any possible problems caused by windows authentication. Check the sql server
Processes and the lock type on your tables while debugging it sounds like
you could possibly have a concurrency issue if the behaviour is random. I
still think you should remove any remote server from the equation, try
installing msde Locally.
Also it might be worth trying to eliminate ado.net here try Access XP with a
pass through query running your proc, the idea is much the same run the
proc and from its output generate a indexed tableview.
Failing that Send me some data over email so I can play, 50,000 records in a
zipped delimited text
Colin
"William (Bill) Vaughn" <billvaRe...@nwlink.com> wrote in message
news:ufp0LPMwCHA.640@TK2MSFTNGP12...
select @@trancount
Colin
<colin> wrote in message news:OC6q9sMwCHA.1620@TK2MSFTNGP11...
so try reducing your query to get just primary key from table and see if
performance improved, Mine did Substantially
Colin
<colin> wrote in message news:e#nsjwMwCHA.2296@TK2MSFTNGP10...
definatly no 10 second delay, it gets faster when query is cached, i used
straight sql not a stored proc
Colin
<colin> wrote in message news:upP6r8MwCHA.2604@TK2MSFTNGP12...