Subject | Re: [firebird-support] Re: One table become very slow |
---|---|
Author | Lester Caine |
Post date | 2008-09-17T07:46:22Z |
marrtins_dqdp wrote:
same. When I start a script, the first step after 'pconnect' is to
'BeginTrans', and the last step is 'CommitTrans'. This basically wraps the
packet of work done by the script in an ibase_trans/ibase_commit pair, and
that way all the work done by the running of the script is tidily finished.
ADOdb also does an 'autocommit' but that simply wraps every query with the
BeginTrans/CommitTrans so creating a transaction for every request. The
overall wrapper just disables the 'autocommit'.
I'm convinced that something in this area is not totally correct in the
php_interbase driver, but it does work fine for me and I've a large number of
sites relying on it for daily operation.
--
Lester Caine - G8HFL
-----------------------------
Contact - http://lsces.co.uk/lsces/wiki/?page=contact
L.S.Caine Electronic Services - http://lsces.co.uk
EnquirySolve - http://enquirysolve.com/
Model Engineers Digital Workshop - http://medw.co.uk//
Firebird - http://www.firebirdsql.org/index.php
> Thank you all for such comprehensive explaining. I`ll try to monitorI'm using ADOdb rather than the raw php_interbase, but the principles are the
> database and see if something strage happens again and will inform.
> Backup is finished (took more than 24h to finish during that it wrote
> ~4MB), database is restored and running for 24h now fine.
>
>> Yes, that field is a problem. If you describe what you're doing
>> we can probably describe a way to do it that doesn't cause this
>> problem.
>
> 1) it is PHP+Apache application
> 2) using ibase_pconnect() - always with same user, same password, same
> role (PUBLIC)
> 3) never closing connection at the end of script - manual says I can
> rely that PHP manages and closes all opened resources
> (files,databases,etc). Doing this for years never coused problems.
> 4) do not use ibase_trans() (or extremly rare - cannot remeber if used
> anywhere), so anything is done via single database connection.
same. When I start a script, the first step after 'pconnect' is to
'BeginTrans', and the last step is 'CommitTrans'. This basically wraps the
packet of work done by the script in an ibase_trans/ibase_commit pair, and
that way all the work done by the running of the script is tidily finished.
ADOdb also does an 'autocommit' but that simply wraps every query with the
BeginTrans/CommitTrans so creating a transaction for every request. The
overall wrapper just disables the 'autocommit'.
I'm convinced that something in this area is not totally correct in the
php_interbase driver, but it does work fine for me and I've a large number of
sites relying on it for daily operation.
--
Lester Caine - G8HFL
-----------------------------
Contact - http://lsces.co.uk/lsces/wiki/?page=contact
L.S.Caine Electronic Services - http://lsces.co.uk
EnquirySolve - http://enquirysolve.com/
Model Engineers Digital Workshop - http://medw.co.uk//
Firebird - http://www.firebirdsql.org/index.php