Subject | Re: [firebird-support] Transactions and cleaning up of rows after a massive deletion |
---|---|
Author | Ann Harrison |
Post date | 2011-10-25T16:00:53Z |
On Tue, Oct 25, 2011 at 11:24 AM, fernnaj <yo@...> wrote:
the architecture of Firebird you're using. With Classic, the single client
doing the select will be very slow, and others will be slower than normal
because of the overall system load, but will be scheduled by the operating
system according to its priorities. In SuperServer, all queries are
threads in the server process which schedules them on a round-robin basis,
giving each a quantum of time. So again, the inserts will be slower than
normal, but will not run while the garbage is being collected. More or
less the same answer for both, but in Classic you can blame the OS for not
scheduling things when you want, and in SuperServer, blame the server.
Please don't try to speed up the inserts in Classic by increasing their
priority. They will be contending with the garbage collecting query for
pages and if it can't run to release them, the whole system will slow down.
Good luck,
Ann
[Non-text portions of this message have been removed]
>We call that process "garbage collection". The answer depends slightly on
>
> The question is: if I have a select in one transaction that is suffering
> from the cleaning up after a deletion of say 1 million rows (and it's taking
> forever to return results), will another transaction that just writes a new
> row in the same table be also delayed? Writing speed in that table is
> critical, reading is important but not critical.
>
the architecture of Firebird you're using. With Classic, the single client
doing the select will be very slow, and others will be slower than normal
because of the overall system load, but will be scheduled by the operating
system according to its priorities. In SuperServer, all queries are
threads in the server process which schedules them on a round-robin basis,
giving each a quantum of time. So again, the inserts will be slower than
normal, but will not run while the garbage is being collected. More or
less the same answer for both, but in Classic you can blame the OS for not
scheduling things when you want, and in SuperServer, blame the server.
Please don't try to speed up the inserts in Classic by increasing their
priority. They will be contending with the garbage collecting query for
pages and if it can't run to release them, the whole system will slow down.
Good luck,
Ann
[Non-text portions of this message have been removed]