If your queries are INSERTs, the page 7.2.19. Speed of INSERT Statements of the MySQL manual gives two interesting informations, depending on whether your are using a transactionnal engine or not :
When using a non-transactionnal engine :
To speed up INSERT operations that are
performed with multiple statements for
nontransactional tables, lock your
tables.
This benefits performance because the
index buffer is flushed to disk only
once, after all INSERT statements have
completed. Normally, there would be as
many index buffer flushes as there are
INSERT statements. Explicit locking
statements are not needed if you can
insert all rows with a single INSERT.
And, with a transactionnal engine :
To obtain faster insertions for
transactional tables, you should use
START TRANSACTION and COMMIT instead
of LOCK TABLES.
So I am guessing using transactions might be a good idea -- but I suppose that could depend on the load on your server, and whether there are multiple uses using the same table at the same moment, and all that...
There are more informations on the page I linked to, so don't hesitate to read it ;-)
And, if you are doing update statements :
Another way to get fast updates is to
delay updates and then do many updates
in a row later. Performing multiple
updates together is much quicker than
doing one at a time if you lock the
table.
So, I'm guessing the same can be said than for inserts.
BTW : to be sure, you can try both solutions, benchmarking them with microtime
, on the PHP side, for instance ;-)