J Sisson <sisson(dot)j(at)gmail(dot)com> wrote:
> Rob Wultsch <wultsch(at)gmail(dot)com> wrote:
>> Tip from someone that manages thousands of MySQL servers: Use
>> InnoDB when using MySQL.
>
> Granted, my knowledge of PostgreSQL (and even MSSQL) far surpasses
> my knowledge of MySQL, but if InnoDB has such amazing benefits as
> being crash safe, and even speed increases in some instances, why
> isn't InnoDB default?
Because it's not as fast as the unsafe ISAM implementation for most
benchmarks.
There is one minor gotcha in InnoDB (unless it's been fixed since
2008): the release of locks is not atomic with the persistence of
the data in the write-ahead log (which makes it S2PL but not SS2PL).
So it is possible for another connection to see data that won't be
there after crash recovery. This is justified as an optimization.
Personally, I would prefer not to see data from other transactions
until it has actually been successfully committed.
-Kevin