Subject Re: [IBO] Performance Issues
Author Frank
Yeah, I changed that too, now opening only the main form and all
the others on demand so the start time of the application is now at
approx. 45 secs - anyhow, just to prepare and open the 12 queries
on the main form consumes 40 out of the 45 sec.

Any chance to speed things up there ?
I'd really like to know what exactly takes IBO to consume so much
time on opening.


--- In IBObjects@yahoogroups.com, "Antti Kurenniemi" <Antti@...>
wrote:
>
> For your 1. point: we have a relatively large app with some 200+
forms, most
> of which have database related stuff in them (queries + controls).
We only
> create three main forms at application startup (our actual main
form, an
> invisible debug form + the main datamodule), and instantiate the
rest as
> needed.
>
> None of our users will every use all the forms, and just creating
the forms,
> even without opening any connections took a lot of time when we had
it that
> way. Now, the app starts in about a second or so, and each form
opens fast
> enough that the user can't tell that they're only created then.
>
>
> Antti Kurenniemi
>
> ----- Original Message -----
> From: "Frank" <FrankBKK@...>
> To: <IBObjects@yahoogroups.com>
> Sent: Sunday, October 26, 2008 7:24 AM
> Subject: [IBO] Performance Issues
>
>
> > Hi there,
> >
> > I'm working with IBO 4.8.7 and older versions since quite a while
on
> > a large project including many forms and dozens of IB_Queries.
> >
> > As most of the performance eating tasks are done on the server by
> > stored procedures most of the queries are plain and simple selects
> > without any potentialy slowing down joins etc. - those queries are
> > mostly used to display informations on grids.
> >
> > As the database is growing and growing I have to cope with various
> > performance issues.
> >
> > Three of them bother me especially:
> >
> > 1. Starting the application
> > As most users tend to start the app. in the morning and let it run
> > all day I decided to load all forms and open all queries in one
shoot
> > which is done like that:
> >
> > for i := 0 to ComponentCount -1 do
> > begin
> > if Components[i] is TIB_Query then
> > begin
> > with Components[i] as TIB_Query do
> > begin
> > if not Active then
> > begin
> > Prepare;
> > Open;
> > end;
> > end;
> > end;
> > end;
> >
> > Having tables with several 100MB in total it takes actualy approx.
> > 2-3 minutes just to open and prepare them.
> >
> > Is there a better (faster) way to do this ?
> >