Subject | Re: [firebird-support] FB sql compilation: buffered or not? |
---|---|
Author | Ann Harrison |
Post date | 2004-01-12T17:53:34Z |
lnd@... wrote:
"execute immediate" is compiled and released automatically. Any
statement that's prepared will be buffered until its released. However
compiled statements are kept in a buffer that is specific to a single
connection.
statement cache which will be cross connection.
Regards,
Ann
> Is it possible to:Any statement you prepare will be buffered until you release it.
>
>- specify how large the "buffer" can be?
>
>- get some statistics of its performance: how many staments are found and howGiven the architecture, that question has no real meaning.
>many compiled?
>
>- to "pin" some statements permanently in the buffer: the issue is thatIt's not that kind of a buffer. Any statement that's submitted as an
>"lexical SQL" (kind of "select .. where name='john' ") is wasting space of
>any buffer by forcing "good SQL" statements out of it.
>
"execute immediate" is compiled and released automatically. Any
statement that's prepared will be buffered until its released. However
compiled statements are kept in a buffer that is specific to a single
connection.
>In that light is makesSomething that is likely to appear in a future version is a compiled
>sense to tell RDBMS that some statements have to be in the buffer
>permanently, e.g. those executed 10x per second. Well, this is impossible
>probably as the buffer is not shared between connections.
>
statement cache which will be cross connection.
Regards,
Ann