1

For performance reason i will put a 188MB table (rebuild every day on disk) with ~ 550.000 datasets into MEMORY table. Whenever i tried this, i run into HEAP error ... My server has 1.3GB free RAM (only 32BIt 4 GB)

Thomas B
  • 65
  • 7
  • MyISAM in 2014? That's quaint. Why not use a different data store for this if performance is critical? There's lots of different ways to crack this nut, most of which don't involve desperate measures like you're describing. – tadman Mar 05 '14 at 16:38
  • I know - old system, mysql 5.1, i exactly tried this http://stackoverflow.com/questions/9842720/how-to-make-the-mysql-memory-engine-store-more-data but wont work... – Thomas B Mar 05 '14 at 16:42
  • ..btw..which storage engine to use for it while using mylsq 5.1.x ? – Thomas B Mar 06 '14 at 16:31
  • InnoDB should be available, and that engine is often easier to tune. Remember that MySQL 5.5 and 5.6 have *significant* performance improvements, so upgrading might solve a lot of your problems. – tadman Mar 06 '14 at 17:09
  • Switched to mysql 5.5.36 now but still using myisam. I will try the above to get an in memory db. – Thomas B Mar 07 '14 at 08:46

1 Answers1

0

Have you checked the configured mysql heap table size? Have a look at this:

mysql> show variables like "%heap%";
+---------------------+----------+
| Variable_name       | Value    |
+---------------------+----------+
| max_heap_table_size | 16777216 |
+---------------------+----------+
1 row in set (0.02 sec)

The default value is 16MB.

steffen
  • 16,138
  • 4
  • 42
  • 81
  • 1
    Yes - i already checked but also temporarily raising up to 2GB heap will result in "out of memory". – Thomas B Mar 05 '14 at 16:37