Subject | RE: [IBO] thru internet ,open 1st query must wait over 15 sec,could it been soluted? |
---|---|
Author | Jason Wharton |
Post date | 2007-10-04T06:21:40Z |
> I use D7pro+IBO_4_3Aa+firebird1.5.4..., when running a LANIBO has a fair amount of metadata overhead when it is first hit.
> everything work just fine,but I need connect to my firebird DB
> thru internet now.
>
> After I test with dbexpress,UIB ,IBO
> time to open 1st query(about 50 records),
>
> dbexpress 1.5 sec
> UIB 1.3 sec
> IBO over 15 sec
>
> but after 1st query open,the 2nd query open time,
> all 3 components proformace are almost the same.
>
> I try set schemacachedir to my exe dir,but the
> result is same as above.
>
> can it be improved?
It's quite likely the 15 second delay is due to a large database and lacking
indexes on system tables and so one or more of the metadata queries is
really slow.
Run the SQL trace monitor and find out which metadata query is taking so
long and see if you can add an index to remedy the problem.
Keep in mind that anytime you do a backup and restore that you would have to
add the index again. You could also implement schema caching so that client
would store the metadata information locally. Look at the SchemaCacheDir
property in the help file to learn more.
Also, IBO is going to generally perform a little more slowly when doing a
prepare as the competing products. But, if IBO is used properly there are a
multitude of ways that makes it much more fluid to interact with. For
example, rather than doing manual tweaks to the SQL property directly (which
causes a full unprepare) you can learn how to use the OnPrepareSQL
capabilities so that quick re-prepares can take place, which are really
fast. There are also a number of very nice features IBO provides that rely
upon knowing more about your database so the prepare takes a slight bit
longer for that too.
If someone is a wiz at profiling there is probably some fat that could be
trimmed off of IBO's prepare time. I have not fine tooth combed it in a
while. There is a lot of parsing that could possible be optimized more.
Hope this answers your questions.
Jason Wharton