I posted this in the CakePHP core discussion group where it was
completely ignored (isn't it supposed to be a place to get input on
core code decisions?), but maybe someone here is interested, since it
has a big impact on website performance:

When saving multiple rows on the same model with saveAll(), I've
noticed two things that have an adverse effect on performance:

#1: A separate INSERT query is done for each row
#2: A "SELECT LAST_INSERT_ID() AS insertID" query is executed after
each INSERT

Correct me if I'm wrong, but as far as I can tell there's no way to
force saveAll() to combine the separate INSERT queries into a single
query, and there's also no way to disable the SELECT LAST_INSERT_ID()
query, which is basically pointless when inserting rows in bulk. In
both my own tests and tests of others (for example, Google -
http://code.google.com/speed/articles/optimizing-php.html ), combining
multiple INSERT statements for the same table into one statement
really boosts speed. Has there been any discussion amongst the core
developers to look at changing the way this saveAll() behaviour works?
I've identified this as a major bottleneck in one of my projects, so
I'll probably be writing my own version of the function in any case
(which I'll be happy to share of course!).

- Jamie

-- 
Our newest site for the community: CakePHP Video Tutorials 
http://tv.cakephp.org 
Check out the new CakePHP Questions site http://ask.cakephp.org and help others 
with their CakePHP related questions.


To unsubscribe from this group, send email to
[email protected] For more options, visit this group at 
http://groups.google.com/group/cake-php

Reply via email to