MySQL:将数据库加载到内存

MySQL:将数据库加载到内存

有没有办法将整个 MySQL 数据库加载到 RAM 中,尤其是在 EC2 服务器上?

  1. 数据库相当小(约 500 兆字节)
  2. 我有足够的内存
  3. 速度问题至关重要——结果查询用于提供动态网页。

谢谢,

亚当

答案1

当然可以将索引加载到缓存中;如果您有经常查询的小型 ISAM 表,MySQL 可能也会将这些表加载到缓存中。下面是一份很好的性能 Wiki 文章关于 MySQL 调优。

答案2

您可以将数据库存储在 RAM 磁盘上,例如ramfs。这可能会给数据带来风险,具体取决于实现方式,因此您需要进行设计以弥补这一点。一个潜在的解决方案是让只读从属服务器复制到 RAM 磁盘,并且那里的数据可能是可丢弃的。

MySQL Clustering(NDB 引擎)旨在将数据存储在内存中。但是,MySQL Clustering 最适合通过简单查询访问的小型数据集。

目前最受欢迎的解决方案是 memcached,但这需要应用程序架构来支持该技术。

这是一个相当大的问题。《高性能 MySQL》是一本涵盖高级 MySQL 实现的精彩书籍。

相关内容