Subject | Re: [firebird-support] Re: Performance when deleting a lot of records, again |
---|---|
Author | Martijn Tonies |
Post date | 2005-04-07T13:36:37Z |
> > > >autocommit is often referred to as commit retaining.its
> > >
> > > No. Autocommit works in different ways in different
> > > implementations. Delphi happens to use CommitRetaining when it does
> > > "client-side autocommit".Tonies
>
> At 02:50 PM 7/04/2005 +0200, Martijn "You can buy me with chocolate"
> wrote:transaction
>
> >Actually, not Delphi... But I guess you mean "IBX". I don't think IBO
> >does a CommitRetaining unless you tell it to.
>
> IBO doesn't do a CommitRetaining unless you tell it to make the
> AutoCommit. Then, it does. The only way to override that is to doprovided
> explicit transaction starts and commits. CommitRetaining was invented for
> Delphi and it does have great benefits for Delphi's "scrolling"
> dataset. With IBO you can have butter on both sides of the bread,
> you make use of the timeout features.on
>
> Note that, with IBO, you can set the ServerAutocommit true. As long as
> Autocommit is false, you won't get a Commit with Retain happening. It's
> not used for SELECTs, though, since you do actually want a "live" cursor
> a dataset that you are working on. You're more likely to uselooked).
> ServerAutocommit for running scripts. For normal DML it's generally a
> pain, since you don't get any feedback on the client unless there's an
> exception and the statement has to be executed with ExecuteImmediate2 (no
> prepare).
>
> IBX makes transactions Autocommit by default (or used to, last time I
>So, probably the best for small resultsets would be to use the
> >How about FIB+?
>
> Don't know; but I'd expect it to have the smarts not to make Autocommit
> the default.
TClientDataset
(or similar) component and have the server commit the SELECT ASAP.
:-)
With regards,
Martijn Tonies
Database Workbench - developer tool for InterBase, Firebird, MySQL & MS SQL
Server
Upscene Productions
http://www.upscene.com