Article View: borland.public.cppbuilder.database.ado
Article #3475Re: Cancelling *synchronous* query?
From: Vassiliev V.V.
Date: Sat, 03 Aug 2002 05:46
Date: Sat, 03 Aug 2002 05:46
52 lines
2660 bytes
2660 bytes
What do you use to search on server-side cursor? If you have unique key, you can use Seek. Another way is to fetch data row-by-row. In case of Seek - it is fast and you should not have a need to stop processing. If you fetch data row-by-row - you can stop this when user press button. Regards, Vassiliev V.V. http://www.oledbdirect.com "Mike Ruskai" <spammoc.reirracten@begoneynnaht.net> ???????/???????? ? ???????? ?????????: news:gunaalargpneevrepbz.h092j50.pminews@207.105.83.65... > I'm writing an application that searches a table in an Access database where > the result set can conceivably be the entire table (which ranges from 30,000 > to 250,000 records). All searches are read-only. > > I tried using asynchronous fetching with a client cursor, but the performance > is pretty bad, and memory usage quite high - as one would expect with having > to create a copy of many thousands of records (each of which is about 600 > bytes in size). > > When I switched to a "server" cursor, the fetches increased in speed by at > least an order of magnitude. > > However, for large searches, this could still mean a long wait for users who > have relatively slow processors. > > So, I'd like to let the user kill a search that's taking too long. > > Opening the query on a separate thread and killing it is easy enough, but > what are the repercussions? > > Will there be memory leaks? > > Better yet, is there a more graceful way to terminate a long query that has > to run synchronously (since MS was thoughtful enough to make asynchronous > fetches impossible with a server cursor)? > > > -- > - Mike > > Remove 'spambegone.net' and reverse to send e-mail. > >
Technical Details
Message-ID:
<3d4b7564_1@dnews>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-01!sn-xit-04!supernews.com!news.maxwell.syr.edu!newsfeed.media.kyoto-u.ac.jp!newsfeed01.tsnz.net!newsfeeds.ihug.co.nz!ihug.co.nz!dnews!not-for-mailReferences:
<gunaalargpneevrepbz.h092j50.pminews@207.105.83.65>Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 10698b,490d91ba18044517 X-Google-Attributes: gid10698b,public X-Google-ArrivalTime: 2002-08-02 23:29:38 PST From: "Vassiliev V.V." <news@vassilievvv.mtu-net.ru> Newsgroups: borland.public.cppbuilder.database.ado References: <gunaalargpneevrepbz.h092j50.pminews@207.105.83.65> Subject: Re: Cancelling *synchronous* query? Date: Sat, 3 Aug 2002 09:46:03 +0400 Lines: 54 X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2600.0000 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 NNTP-Posting-Host: 62.118.134.249 Message-ID: <3d4b7564_1@dnews> X-Trace: dnews 1028355428 62.118.134.249 (2 Aug 2002 23:17:08 -0700) Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-01!sn-xit-04!supernews.com!news.maxwell.syr.edu!newsfeed.media.kyoto-u.ac.jp!newsfeed01.tsnz.net!newsfeeds.ihug.co.nz!ihug.co.nz!dnews!not-for-mail