Is it bad to create many mysql temporary tables simultaneously?
You want to prevent making temp tables as much as possible : Prevent copying to temp table (sql)

They do not work well in MySQL Replication : How are binlogs updated for MySQL temporary tables?

Since temp tables are a fact of life in the DB world, you may have to make some unorthodox changes to accommodate their existence.

Normally, mysqld has the habit of placing tmp tables in /tmp or wherever tmpdir is configured. That's usually on some poor unsuspecting disk.

An interesting alternative would be to setup a RAM disk and reconfigure tmpdir to use it

STEP 01 : Create a Mount Point for a RAM Disk

mkdir /var/tmpfs


STEP 02 : Add the RAM disk to /etc/fstab (16GB)

echo "none   /var/tmpfs              tmpfs   defaults,size=16g        1 2" &gt;&gt; /etc/fstab


STEP 03 : Add this line to /etc/my.cnf

[mysqld]
tmpdir=/var/tmpfs


STEP 04 : Enable the RAM Disk

You can do one of the following:


Just reboot the DB Server
mount -t tmpfs -o size=16g none /var/tmpfs


Before you do this, make sure you have enough RAM

Give it a Try !!!