7.3.3. Concurrent Inserts
For a MyISAM
table, you can use concurrent
inserts to add rows at the same time that
SELECT
statements are running if there are no
deleted rows in middle of the table.
Under circumstances where concurrent inserts can be used, there
is seldom any need to use the DELAYED
modifier for INSERT
statements.
See Section 13.2.4.2, “INSERT DELAYED
Syntax”.
If you are using the binary log, concurrent inserts are
converted to normal inserts for CREATE ...
SELECT
or INSERT ... SELECT
statements. This is done to ensure that you can re-create an
exact copy of your tables by applying the log during a backup
operation.
With LOAD DATA INFILE
, if you specify
CONCURRENT
with a MyISAM
table that satisfies the condition for concurrent inserts (that
is, it contains no free blocks in the middle), other threads can
retrieve data from the table while LOAD DATA
is executing. Using this option affects the performance of
LOAD DATA
a bit, even if no other thread is
using the table at the same time.