我试图想办法让MySQL更快。 有没有一种经过validation的方式将其存储在内存中以使其运行速度更快?
MEMORY存储引擎如何?
另一个select是创build一个虚拟硬盘,并在其中使用MyISAM或INNODB表。 不过,我会想象,使用MEMORY存储引擎的性能会更好,因为它是从头devise存储在内存中的,而其他表types则是在存储在磁盘上。
首先,请自己帮忙,并用大量的盐来记忆引擎的build议。
当然,除非你不需要以下任何一项:
如果你不需要这些,那么你不应该使用MySQL。 使用像memcached这样简单的键值存储。
如果你需要这些(提示:你这样做),那么使用InnoDB,尽可能多的RAM,以及正确configuration的innodb_buffer_pool_size 。 MySQL性能博客有一篇关于configurationinnodb_buffer_pool_size的优秀文章。 简短而又甜蜜 – 您需要足够的RAM来将整个数据库表空间和索引放入RAM中,并将innodb_buffer_pool_size设置为专用MySQL服务器总系统RAM的70-80%。
RAM SAN非常昂贵,但令人兴奋的IO。 RAMdisk是一个非常糟糕的主意,因为在发生系统断电或致命系统错误的情况下,RAMdisk将不再像RAM一样。
你可能想把一些监视器(比如munin )放在你的服务器上,以确保mysql是真正的问题,当你处理非caching查询时,通常它是非常昂贵的。 如果一切都失败了,你将需要花费一些钱来获得SSD存储解决scheme。
按照ErikA的build议玩MEMORY存储引擎。 但是要确保你也在优化所有的查询caching,线程caching和缓冲区设置。 mysqltuner.pl是一个很好的起点。