If there is one thing I can say about MySQL is that InnODBInnoDB, its transactional (ACID-compliant) storage engine, is indeed multithreaded. However, it is as multithreaded as YOU CONFIGURE IT !!! Even right "out of the box," InnoDB performs great in a single CPU environment given its default settings. To take advantage of InnoDB multithreading capabilities, you must remember to activate a lot of options.
Most people are unaware of these features and a quite satisfied with InnoDB just doing ACID-complaintcompliant transactions. If you tweektweak any of these options, you do so at your own peril.
In conclusion, InnoDB behaves well now in a multi CPU server given its default settings for multithreaded operations. TweekingTweaking them takes great care, great patience, great documentation, and great coffee (or Red Bull, Jolt, etc.).
Came back from Percona MySQL Conference in New York on Thursday. WHatWhat a conference. Learned a great deal, but I got an answer I will look into concerning InnoDB. I was informed by Ronald Bradford that setting innodb_thread_concurrency to 0 will let InnoDB decide the best course of action internally with thread concurrency. I will experiment with this further in MySQL 5.5.
As for multi core systems, InnoDB has come a long way. In the past, InnoDB could not perform well in a multicore environment. I remember having to run multiple mysql instances on a single server to get the multiple cores to distribute the multiple mysqld processes across the CPUs. This is no longer necessary, thanks to Percona, and later MySQL (eh, Oracle, saying that still makes me gag), as they have developed InnoDB into a more mature storage engine that can access the cores with simplicity without much tuning. The current instance of InnoDB today can operate well in a sinlgesingle core server.