【问题标题】:How to put a 188MB MYISAM table into memory如何将 188MB 的 MISAM 表放入内存
【发布时间】:2014-03-05 16:22:25
【问题描述】:

出于性能原因,我会将一个 188MB 的表(每天在磁盘上重建)和大约 550.000 个数据集放入 MEMORY 表中。每当我尝试这个时,我都会遇到 HEAP 错误...... 我的服务器有 1.3GB 可用 RAM(只有 32BIt 4 GB)

【问题讨论】:

  • MyISAM 在 2014 年?这很古怪。如果性能至关重要,为什么不为此使用不同的数据存储呢?有很多不同的方法可以解决这个问题,其中大多数不涉及您所描述的绝望措施。
  • 我知道 - 旧系统,mysql 5.1,我完全尝试过这个 stackoverflow.com/questions/9842720/… 但不会工作......
  • ..btw..使用 mylsq 5.1.x 时使用哪个存储引擎?
  • InnoDB 应该可用,并且该引擎通常更容易调整。请记住,MySQL 5.5 和 5.6 具有显着的性能改进,因此升级可能会解决很多问题。
  • 现在切换到 mysql 5.5.36 但仍在使用 myisam。我会尝试上面的方法来获得一个内存数据库。

标签: mysql memory alter


【解决方案1】:

你检查过配置的mysql heap table size吗?看看这个:

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

默认值为 16MB。

【讨论】:

  • 是的 - 我已经检查过了,但暂时将堆增加到 2GB 会导致“内存不足”。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-17
  • 2021-12-24
  • 1970-01-01
  • 2017-12-07
  • 1970-01-01
  • 2011-06-26
  • 1970-01-01
相关资源
最近更新 更多