MySQL MyISAM 和 innoDB 内存使用

标签 mysql memory innodb myisam

有谁知道 MyISAM 和 innoDB 使用多少内存?在处理小表和处理大表(最多 32 GB)时,它们的内存使用情况如何比较?

我知道 innoDB 比 MyISAM 重,但究竟重多少呢?

如有任何帮助,我们将不胜感激。

谢谢, jb

最佳答案

你不能那样比较它们。或者至少,你不应该。每个人都以不同的方式使用内存。如果您正在调整数据库以提高性能,则尤其如此。

MyISAM 有特定的索引缓冲区,它使用操作系统磁盘缓冲区来缓存其他数据。让缓冲区大于索引的总和是没有意义的,但是给它的内存越多,它就会越快。

InnoDB 有一个用于所有数据的缓冲池。您可以根据您的可用内存以及您想要提供的内存量来配置它。 InnoDB 在内存中尽可能多地缓冲数据。如果您可以将整个数据库放入内存,InnoDB 将永远不会从磁盘读取。当数据大小变得大于缓冲池时,许多 InnoDB 数据库都会看到巨大的性能下降。

MySQL 的可配置性很强。它可以调整以满足您的需求。通常,应为数据库提供尽可能多的内存,因为它们几乎总是受磁盘限制。更多内存意味着可以缓冲更多内容。

关于MySQL MyISAM 和 innoDB 内存使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/262798/

相关文章:

c++ - 堆调试 : Assert failure in dbgdel in MS VC++ 2005

连接表上的 MySQL 外键问题

mysql - 如何提高这个跨越 4 个表并具有多个嵌套语句的 SQL 查询的效率

javascript - 什么是统计访客的最佳系统?

mysql - 删除除某些 id 之外的所有记录?

MySQL死锁与存储过程生成UID

mysql - 如何重命名外键约束| MySQL 5.6、InnoDB

mysql - mysql 中计算字符串形式的列名

php - 执行时间和内存使用率是 PHP 唯一相关的性能指标吗? CPU呢?

javascript - ajax网站内存使用累积/Chrome