Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Stopped reading after no transactions. Theory question: musn't transactions reduce necessarily performance?


Not necessarily. I ran sysbench with InnoDB and manually switched off transactions, and it was a lot slower. I don't know why - didn't look into it.

upscaledb does use transactions. I.e. if you insert a row with a primary and a secondary index then upscaledb inserts two key/value pairs in two databases. All these operations are wrapped in Transactions. They are just not yet supported on SQL level.


In InnoDB everything is a transaction. If you do not begin/commit then each statement will be its own transaction.

Batching a group of statements together in a small transaction is usually better because it reduces log flushing. ACID only needs to be guaranteed on commit. Similarly, applying transactions in parallel is faster because of group commit.


> Stopped reading after no transactions

Ironically, back in the day, the core MySQL team argued that was a feature, not a bug.


To be fair, that's normal, if unfortunate, competitive behavior. "We meant to do that" is the rule until there's running code correcting the initial mistake.

Less forgivable is training a couple generations of developers that all the other mistakes they made are the Right Way...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: