Subject Re: [firebird-support] Firebird Prepared Queries
Author Huan Ruan
Thank you very much, Ann. This makes things much clearer.

On 9 February 2010 03:30, Ann W. Harrison <aharrison@...> wrote:

>
>
> ruan_h wrote:
> >
> My information may be slightly out of date, in which case
> someone will correct me, but here are some answers.
>
> >
> > 1. What's the effect of having too many prepared queries in
> > each connection? Does Firebird have an optimum number of
> > prepared queries kept in cache?
>
> Prepared queries do take up some amount of memory. Probably
> not a significant amount of memory on a modern machine. The
> space is from the connection's memory, not from the server
> page cache.
>
> There is no one optimum number of queries to cache. If
> the query will be reused, it should be cached, If it's
> generated on the fly, it should not be cached.
>
>
> > 2. Does Firebird ever unprepare some queries when there
> > are too many or does it only do this when clients ask i
> > t to? If it's the former, what happens to the handles that
> > clients hold to the prepared queries?
>
> Firebird never unprepares a query if a connection holds
> a handle to the prepared query.
>
>
> > 3. If I have an SQL already prepared and I ask for
> > prepare the same SQL again, will Firebird return the
> > already prepared one or prepare it again?
>
> No, or at least not when I was paying close attention to
> it. Firebird does not have a shared query cache between
> connections and assumes that a connection will know which
> queries it has prepared.
>
> Cheers,
>
> Ann
>
>


[Non-text portions of this message have been removed]