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
After reading the code I can sure correct myself - they are calling into some of MySQL
things (e.g. for table open), but everything else is table handler interfaces :-)
Though I guess what I mean "going through MySQL" and you have in mind are
entirely different topics :)
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?
They wouldn't gain too much of perf with PS, transaction establishment is quite cheap
in MySQL, especially compared to other vendors.
Do note, prepared statements don't prepare query plan for you - it is reestablished at
every execution, neither it does have open table handlers, IIRC - generally you just
don't have to reparse the text.
It was an example of a way to get fast results if you
don't care about
your reads being atomic.
InnoDB is faster than MyISAM at high performance workloads.