gpt4 book ai didi

mysql - MySQL 的 MEMORY 存储引擎的替代品

转载 作者:可可西里 更新时间:2023-11-01 07:06:48 25 4
gpt4 key购买 nike

我目前正在对 MyISAM 表运行一些密集的 SELECT 查询。该表大约为 100 MiB(800,000 行),并且从不更改。

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

除了 MEMORY 存储引擎,我还有哪些选择可以将 100 MiB 的表加载到内存中?

最佳答案

无论您使用什么存储引擎,具有 800k 行的表对 mysql 来说应该不是任何问题。大小为 100 MB 的完整表(数据和键)应该存在于内存中(mysql 键缓存、操作系统文件缓存,或者可能在两者中)。

首先检查索引。在大多数情况下,优化索引可为您带来最佳性能提升。永远不要做任何其他事情,除非您非常确定它们处于良好状态。使用 EXPLAIN 调用查询并观察未使用索引或使用错误索引的情况。这应该使用真实世界的数据而不是在具有测试数据的服务器上完成。

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

关于mysql - MySQL 的 MEMORY 存储引擎的替代品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/675032/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com