Subject First DML command in a session is slow
Author rogervellacott
Logging in to my app is fast, and displaying data is fast. But the
first DML query - whether insert, update or delete, is very slow.
Thereafter DML queries perform ok, even if they are on different
tables to the first query.

I use IBObjects, TDatabase components. There is a lot of metadata in
the database - about 160 tables and 20000 lines of SPs and triggers.

Using IBO's schema cache speeds up the login, but has no effect on
the above issue. The only way I have found to improve it is to
perform a dummy edit and post after login on some significant table
before passing control to the user. This seems very clunky.

Does anyone know

1. Is this a Firebird issue or an IBObjects issue?

2. Is there a solution to the problem? Is there perhaps a way of
initialising the database after login so that whatever work is being
done during this initial query is done in the background? Can this
initialisation take place in a separate thread using a separate
connection?

TIA

Roger Vellacott
Passfield Data Systems