I'm adding a table to our site that logs all page loads. In the past, when
I built this, I used MyISAM and INSERT DELAYED. I went back to look at the
documentation to see if I should still do this, and saw this (taken from
Note that INSERT DELAYED is slower than a normal INSERT if the table is not
otherwise in use. There is also the additional overhead for the server to
handle a separate thread for each table for which there are delayed rows.
This means that you should use INSERT DELAYED only when you are really sure
that you need it.
Does that mean that I shouldn't use it if all I'm doing is INSERT
(essentially an append-only table), with only very occasional SELECTs? In
addition, the last time I took this approach for logging, it worked well
until the table got to 65M+ rows, when it would crash every now and then. I
know I can archive off the table on a per month/quarter basis as well.