Cloning the schema from a template cut the per-test store cost on
Postgres from about 0.9s to 0.3s but barely moved MySQL, which stayed at
1.5s to 1.9s per store. The time is the DDL itself: with the server
defaults each CREATE TABLE creates and fsyncs a tablespace file and
fsyncs the redo log and the binary log, and the suite issues about 40 of
them per test.
Start mysqld in the test container without per-table tablespaces,
without the binary log, without the doublewrite buffer and without a
redo fsync per commit. The image is the official MySQL entrypoint, so
the flags are passed as the container command.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EsVtbd7MxMVsS9vP1H6KPS