MySQL MyISAM&;innoDB内存使用

MySQL MyISAM&;innoDB内存使用,mysql,memory,innodb,myisam,Mysql,Memory,Innodb,Myisam,有人知道MyISAM和innoDB使用了多少内存吗?在处理小表和处理大表(高达32 GB)时,它们的内存使用情况如何比较 我知道innoDB比MyISAM重,但比MyISAM重多少 任何帮助都将不胜感激 谢谢, jb你不能那样比较它们。或者至少,你不应该。每个人都以不同的方式使用内存。如果要调整数据库的性能,这一点尤其正确 MyISAM有特定的索引缓冲区,它使用OS磁盘缓冲区来缓存其他数据。让缓冲区大于索引的总和是没有意义的,但内存越大,速度就越快 InnoDB有一个用于所有数据的缓冲池。您可以

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


我知道innoDB比MyISAM重,但比MyISAM重多少

任何帮助都将不胜感激

谢谢,
jb

你不能那样比较它们。或者至少,你不应该。每个人都以不同的方式使用内存。如果要调整数据库的性能,这一点尤其正确

MyISAM有特定的索引缓冲区,它使用OS磁盘缓冲区来缓存其他数据。让缓冲区大于索引的总和是没有意义的,但内存越大,速度就越快

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


MySQL是非常可配置的。它可以调整以满足您的需要。通常,数据库应该被给予尽可能多的内存,因为它们几乎总是磁盘绑定的。更多的内存意味着可以缓冲更多的内存。

你不能这样比较它们。或者至少,你不应该。每个人都以不同的方式使用内存。如果要调整数据库的性能,这一点尤其正确

MyISAM有特定的索引缓冲区,它使用OS磁盘缓冲区来缓存其他数据。让缓冲区大于索引的总和是没有意义的,但内存越大,速度就越快

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


MySQL是非常可配置的。它可以调整以满足您的需要。通常,数据库应该被给予尽可能多的内存,因为它们几乎总是磁盘绑定的。更多的内存意味着可以缓冲更多的内存。

无论您决定什么,都需要提高默认值;对于您的硬件来说,它们几乎肯定太低了。MySQL的默认值非常保守。“我知道innoDB比MyISAM重”。“重”是一个错误的词。无论你决定什么,你都需要提高默认值;对于您的硬件来说,它们几乎肯定太低了。MySQL的默认设置非常保守。“我知道innoDB比MyISAM重”。“重”是一个错误的词。这很有趣。我读到有人设置了一个专用的InnoDB盒,并将80%的系统内存分配给缓冲区,以尝试将整个数据库保存在内存中。听起来这在MyISAM身上是不可能的。是否正确?在MyISAM中,您可以创建除默认密钥缓存之外的其他密钥缓存,。然后在这些额外的密钥缓存中加载索引,。但正如Gary提到的,由于InnoDB同时缓冲数据和索引,如果您有足够的内存,那么它将提供比MyISAM更好的性能。这很有趣。我读到有人设置了一个专用的InnoDB盒,并将80%的系统内存分配给缓冲区,以尝试将整个数据库保存在内存中。听起来这在MyISAM身上是不可能的。是否正确?在MyISAM中,您可以创建除默认密钥缓存之外的其他密钥缓存,。然后在这些额外的密钥缓存中加载索引,。但正如Gary所提到的,由于InnoDB同时缓冲数据和索引,如果您有足够的内存,那么它将提供比MyISAM更好的性能,。