I am running a MySQL 5.0 currently on a single CPU on a windows 2003 machine. I'm thinking of adding another processor to increase performance, as some of the apps on the server are slowing down when database requests are made. Will MySQL be able to even the load across the two cpus?
MySQL Server is most certainly multi-threaded. Each query, however is executed in a single thread. In the majority of cases, issues with "slowness" are not due to lack of processing power... but rather a lack of RAM and/or proper indexes. As queries are run, the system will cache the data in RAM... and as you run out of RAM, the OS starts using swap-space to compensate. Swap... is SLOW.
Solutions can include:
There are a HUGE number of variables to look at. There are entire degrees based on proper database-management. This is not a simple "flip-this-switch" question/answer. You should probably hire a consultant or someone who deals with these sorts of issues regularly.
*edit* The solutions I mentioned are in no particular order. There is no single magic-bullet that will fix your problems. Resolving your problems can involve all 3 I mentioned plus additional options. My list is incomplete, and can easily be added to. Memcaching, clustering, and many other options should be considered as well.
I got good news and bad news for you
MySQL Server is multithreaded
The InnoDB Storage Engine before MySQL 5.5 and MySQL 5.1's InnoDB Plugin (starting at MySQL 5.1.38) is not multithreaded.
Please upgrade to MySQL 5.5. Once you upgrade to MySQL 5.5 or Percona Server 5.x, you must still configure InnoDB for multiple core activity.
I have written about this dozens of times in the DBA StackExchange. Here are just a few:
From these posts, you will learn that InnoDB must be properly tuned to get it to access more cores.