Assuming you are asking if a SELECT is split up so that multiple CPUs
can participate in the operation, I don't believe any of these do such.
MyISAM, InnoDB, InfoBright, Partition, Federated (client), and Merge (at
least) fail to do such as of 5.1.
InnoDB uses I/O threads that are separate from the single SQL thread.
These are shared resources.
Separate SELECTs do use separate threads, but they stumble over each
other due to inefficiencies in
* Malloc in InnoDB
* premature locking of the Query Cache (unless it is fully OFF)
* key_buffer locking
Various 5.1 benchmarks show that these problems cause a decline in
system throughput after about 4-8 cores. The problems are addressed to
various degrees in the "Google patch", the "Percona patch" (derived from
Google), and 5.4.
[Please correct any misrepresentations I have made.]
MySQL Geeks - Consulting & Review
> -----Original Message-----
> From: Hartmut.Holzgraefe@stripped [mailto:Hartmut.Holzgraefe@stripped]
> Sent: Monday, September 28, 2009 5:44 AM
> To: Zardosht Kasheff
> Cc: Konstantin Osipov; internals@stripped
> Subject: Re: is MySQL query execution single threaded?
> Konstantin Osipov wrote:
> > Currently one SQL statement runs from start to end in the same
> > physical thread.
> unless you query ndbcluster or federated tables, in this case
> part of the work is handed of to external processes and in the
> case of cluster several data nodes may process the low level
> storage engine API requests in parallel, each working on its
> active partition(s) of the data ...
> But for the actual mysqld process it is true that all work it
> does on a certain query itself is performed by the same single
> Hartmut Holzgraefe, MySQL Regional Support Manager, EMEA
> Sun Microsystems GmbH, Sonnenallee 1, 85551 Kirchheim-Heimstetten
> Amtsgericht Muenchen: HRB161028
> Geschaeftsfuehrer: Thomas Schroeder, Wolfgang Engels, Wolf Frenkel
> Vorsitzender des Aufsichtsrates: Martin Haering
> MySQL Internals Mailing List
> For list archives: http://lists.mysql.com/internals
> To unsubscribe: