The DELAYED option for the INSERT statement is a
MySQL extension to standard SQL that is very useful if you have clients
that can't wait for the INSERT to complete.  This is a common
problem when you use MySQL for logging and you also
periodically run SELECT and UPDATE statements that take a
long time to complete.  DELAYED was introduced in MySQL
3.22.15.

When a client uses INSERT DELAYED, it gets an okay from the server at
once, and the row is queued to be inserted when the table is not in use by
any other thread.

Another major benefit of using INSERT DELAYED is that inserts
from many clients are bundled together and written in one block. This is much
faster than doing many separate inserts.

There are some constraints on the use of DELAYED:


 --- INSERT DELAYED works only with MyISAM and ISAM
tables.
For MyISAM tables, if there are no free blocks in the middle of the
data file, concurrent SELECT and INSERT statements are supported.
Under these circumstances, you very seldom need to use INSERT
DELAYED with MyISAM.
See also : [MyISAM  storage engine,  , MyISAM storage engine].

 --- INSERT DELAYED should be used only for INSERT statements that
specify value lists. This is enforced as of MySQL 4.0.18.  The server ignores
DELAYED for INSERT DELAYED ... SELECT statements.

 --- The server ignores
DELAYED for INSERT DELAYED ... ON DUPLICATE UPDATE statements.

 --- Because the statement returns immediately before the rows are inserted,
you cannot use LAST_INSERT_ID() to get the AUTO_INCREMENT
value the statement might generate.

 --- DELAYED rows are not visible to SELECT statements until they
actually have been inserted.
