> The way to avoid all this, assuming that your query is read only and the > only statement in the transaction, is to set the transaction state and > isolation to READ_ONLY and READ_COMMITTED. In that mode, the transaction > does not get a unique transaction identifier so it avoids writing the header > and transaction inventory pages.
Could you please clarify the format of the SQL to achieve this Many thanks David --- In [email protected], "ma_golyo" <ma_golyo@...> wrote: > > Hi! > > "Firebird doesn't write anything to disk for a Select,..." > > That's not true. Firebird writes the resultset on HDD when SELECT contains > ORDER BY (maybe PLAN SORT affect that), and does the ordering in this file. > > > --- In [email protected], Ann Harrison <aharrison@> wrote: > > > > On Thu, Oct 27, 2011 at 11:11 AM, dsaunders1971 <dsaunders1971@>wrote: > > > > > I have a question about why Firebird writes / or changes so much data in > > > the database file when you run a simple select query. > > > > > > > Firebird doesn't write anything to disk for a Select, unless cooperative > > garbage collection is on and there are old record versions to remove. > > > > I suspect from your other message that you are creating a new transaction > > for each select. Every time you start a transaction, Firebird changes the > > "next transaction" value on the database header page. That change must be > > flushed to disk before any changes made by the transaction and before the > > transaction commits. Every time you commit or rollback a transaction, the > > final state of the transaction must be recorded on a transaction inventory > > page and that change must be written to disk. There's a slight possibility > > that recording the transaction's final state will require allocating a new > > transaction inventory page, which causes a few other writes. > > > > The way to avoid all this, assuming that your query is read only and the > > only statement in the transaction, is to set the transaction state and > > isolation to READ_ONLY and READ_COMMITTED. In that mode, the transaction > > does not get a unique transaction identifier so it avoids writing the header > > and transaction inventory pages. > > > > > > > Good luck, > > > > Ann > > > > > > [Non-text portions of this message have been removed] > > >
