linux – MySQL能否有效利用64 GB RAM?
发布时间:2020-12-13 18:35:42 所属栏目:Linux 来源:网络整理
导读:我们遇到了一个问题,即查询一个大约有5000万行的表,并且索引大小为4 GB(表大小约为6 GB)会导致数据库服务器交换内存,并显着减慢速度.我很确定这与超出的临时表大小有关,并且它被交换到磁盘. 如果我将数据库服务器从32 GB RAM升级到64 GB RAM,我想知道MySQL数
我们遇到了一个问题,即查询一个大约有5000万行的表,并且索引大小为4 GB(表大小约为6 GB)会导致数据库服务器交换内存,并显着减慢速度.我很确定这与超出的临时表大小有关,并且它被交换到磁盘.
如果我将数据库服务器从32 GB RAM升级到64 GB RAM,我想知道MySQL数据库是否能够充分利用这个额外的内存而不是交换.我已经完成了一些变量(例如KEY_BUFFER_SIZE等),它们似乎支持超过64 GB的设置值.但是,MySQL文档说tmp_table_size最大为4 GB. 那么内存升级是否值得呢? “查询 – 大表”问题会从中受益,还是因为4 GB的限制而无济于事?我知道可能有其他解决方案,比如重组表格以不同的方式进行分区等等……但是如果不改变表格的任何内容,额外的内存会有帮助吗? 此外,一般情况下,当从32 GB移至64 GB RAM时,MySQL是否还有其他与内存无关的变量? 我们使用64位linux(Ubuntu)作为我们的数据库服务器. 谢谢, 解决方法
如果你正在使用InnoDB,那么设置的最重要的变量是innodb_buffer_pool_size.我会将其设置为大约80%的系统内存.一旦你在一些使用后缓存热身,你最活跃的数据(工作数据集)将在内存中(innodb_buffer_pool_size),你对它的操作应该非常快.凭借64GB的内存,你绝对可以在那里体验到很多.内存对于数据库服务器来说总是一个好买的.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容