If you're using MySQL with the MyISAM engine for a high-writes
application, delay_key_write is usually very good.
Let me explain further: delay_key_write is a table option which
causes the database NOT to flush the MyISAM key file after every
write. This is a really good thing, as if you're doing another
write very soon anyway, this is likely to just waste I/O
time.
This doesn't sound like a good idea right, because it means that
if the power fails (or mysql crashes, or something), then you'll
be left with a broken index file? No, it's still a very good
idea:
- delay_key_write does NOT appear to affect the MyISAM data file - that will still be flushed according to the normal policy.
- If you had delay_key_write off, then a power failure or crash during the index write would cause the same level of corruption.
- Broken MyISAM index files need to be rebuilt, regardless of how little …