Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top
Current max_heap_table_size = 512 M
Current tmp_table_size = 512 M
Of 25606 temp tables, 36% were created on disk
Perhaps you should increase your tmp_table_size and/or max_heap_table_size
to reduce the number of disk-based temporary tables
Note! BLOB and TEXT columns are not allow in memory tables.
If you are using these columns raising these values might not impact your
ratio of on disk temp tables.

How much do I need to set tmp_table_size and max_heap_table_size ? When I start MySQL it immediately make these full :(

share|improve this question
Make[s] these full is vague; please elaborate. My guess is that most of the tables created on disk have TEXT or BLOB types in them. – G-Nugget Feb 11 '13 at 21:01
@G-Nugget If it's "created on disk" that means they are full and need more space? I am not similar with MySQL tweaking, if you can help me please? – Luka Feb 11 '13 at 21:04
No, the size is not the only factor that affects whether the table is created in memory or on the disk. The Note! of the output you posted is the other reason. – G-Nugget Feb 11 '13 at 21:06
What I should do now? To decrease it back to 256MB? It is enough? I do not understand why he is always telling me to increase it :( – Luka Feb 11 '13 at 21:07
If you can't use an index or improve the query design you are probably better off getting more memory for the server and putting MySQL's tmpdir on a RAM disk. Temporary tables on disk are a performance killer. – HTTP500 Feb 11 '13 at 21:15

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.