Patrick Galbraith wrote:
> It's not public yet, and therefore not documented as such, but
> mysql_server_prepare enables the server to prepare the statement as
> opposed to emulating the prepare in the driver. Prior to mysql 4.1,
> there was no support for server prepare statements, so it was up to the
> driver to parse placeholders and then substitute values upon execution.
> The current DBD::mysql that is public does this. With the latest
> changes, the server will prepare the statement. This can bring some
> performance increase, especially if you are dealing with a lot of inserts.
I am, and lots of updates as well.
> As far as use_result vs. store result, the server prepared statements
> (mysql 4.1 and greater) will always use 'store result', as this has no
> affect on performance as per the API documentation.
Umm, I thought store_result meant that the data was transferred over to
the client in one big wodge? In my case that constitutes nearly 100Mb
of memory, which most certainly *does* have an effect on performance, so
I can't see how server prepared statements are going to help - and I
also don't understand how server prepared statements mandates the use of
store_result...
--
Alan Burlison
--