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
