Linux   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了linux – MySQL能否有效利用64 GB RAM?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我们遇到了一个问题,即查询一个大约有5000万行的表,并且索引大小为4 GB(表大小约为6 GB)会导致数据库服务器交换内存,并显着减慢速度.我很确定这与超出的临时表大小有关,并且它被交换到磁盘. 如果我将数据库服务器从32 GB RAM升级到64 GB RAM,我想知道MySQL数据库是否能够充分利用这个额外的内存而不是交换.我已经完成了一些变量(例如KEY_BUFFER_SIZE等),它们似乎
我们遇到了一个问题,即查询一个大约有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的内存,你绝对可以在那里体验到很多.内存对于数据库服务器来说总是一个好买的.

大佬总结

以上是大佬教程为你收集整理的linux – MySQL能否有效利用64 GB RAM?全部内容,希望文章能够帮你解决linux – MySQL能否有效利用64 GB RAM?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。