On Fri, Dec 24, 2010 at 4:08 AM, Domas Mituzas midom.lists@gmail.com wrote:
Hi!
A:
It's easy to get fast results if you don't care about your reads being atomic (*), and I find it hard to believe they've managed to get atomic reads without going through MySQL.
MySQL upper layers know nothing much about transactions, it is all engine-specific - BEGIN and COMMIT processing is deferred to table handlers. It would incredibly easy for them to implement repeatable read snapshots :) (if thats what you mean by atomic read)
I suppose it's possible in theory, but in any case, it's not what they're doing. They *are* going through MySQL, via the HandlerSocket plugin.
I wonder if they'd get much different performance by just using prepared statements and read committed isolation, with the transactions spanning multiple requests. The tables would only get locked once per transaction, right?
Or do I just have no idea what I'm talking about?
(*) Among other possibilities, just use MyISAM.
How is that applicable to any discussion?
It was an example of a way to get fast results if you don't care about your reads being atomic.