Mysql speed issues with SHOW COLUMNS or SHOW FIELDS
Would you consider a RAM disk for temp tables ?
First, create the RAM disk (16GB)
mkdir /var/tmpfs
echo &quot;none   /var/tmpfs              tmpfs   defaults,size=16g        1 2&quot; &gt;&gt; /etc/fstab
mount -t tmpfs -o size=16g none /var/tmpfs

Next, add this to my.cnf
[mysqld]
tmpdir=/var/tmpfs

Then, just restart mysql
service mysql restart

Now, all temp tables will land in RAM
I have discussed this before

Oct 09, 2012 : Inserting query result to another table hangs on &quot;Copying to temp table on disk&quot; on MySQL
Nov 30, 2012 : Is it bad to create many mysql temporary tables simultaneously?
Jan 04, 2013 : Is there a MySQL engine or trick to avoid writing so many temp tables to disk?
Nov 15, 2013 : MySQL creates temporary tables on disk. How do I stop it?

Give it a Try !!!