有谁知道MyISAM和innoDB使用了多少内存?在处理小型表和处理更大的表(最多32 GB)时,它们的内存使用情况如何比较?
我知道innoDB比MyISAM重,但还有多少?
任何帮助都将不胜感激。
谢谢, JB
答案 0 :(得分:6)
你不能那样比较它们。或者至少,你不应该。每个人都以不同的方式使用内存。如果您正在调整数据库的性能,则尤其如此。
MyISAM具有特定的索引缓冲区,它使用操作系统磁盘缓冲区来缓存其他数据。让缓冲区大于索引总和是没有意义的,但是你给它的内存越多,它就越快。
InnoDB有一个用于所有数据的缓冲池。您可以根据可用内存以及要提供的内存来配置它。 InnoDB将尽可能多的数据缓存在内存中。如果你可以将整个数据库安装在内存中,InnoDB永远不会从磁盘读取。当数据大小大于缓冲池时,许多InnoDB数据库都会看到巨大的性能命中率。
MySQL非常易于配置。它可以满足您的需求。通常,数据库应尽可能多地提供内存,因为它们几乎总是受磁盘限制。更多内存意味着可以缓冲更多内容。