微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MySQL的MEMORY存储引擎的替代品

我目前正在针对MyISAM表运行一些密集的SELECT查询.该表大约100 MiB(800,000行),它永远不会改变.

我需要提高我的脚本的性能,所以我正在考虑将表从MyISAM移动到MEMORY存储引擎,所以我可以将它完全加载到内存中.

除了MEMORY存储引擎,我有什么选择将100 MiB表加载到内存中?

最佳答案
无论你使用什么样的存储引擎,一个800k行的表都不应该对mysql有任何问题.大小为100 MB时,全表(数据和密钥)应该存在于内存中(MysqL密钥缓存,OS文件缓存,或者两者都适用).

首先检查指数.在大多数情况下,优化索引可以提高性能.除非你非常确定它们的形状,否则永远不要做任何其他事情.使用EXPLAIN调用查询,并监视使用无索引或错误索引的情况.这应该使用真实世界数据完成,而不是在带有测试数据的服务器上完成.

优化索引后,查询应该只需几分之一秒即可完成.如果查询仍然太慢,那么只需尝试通过在应用程序中使用缓存(memcached等)来避免运行它们.鉴于表中的数据永远不会改变,旧的缓存数据等应该没有任何问题.

原文地址:https://www.jb51.cc/mysql/432909.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐