通过优化配置,提高MySql性能

一般谈到MySql优化,首先想到的是分析SQL执行,优化SQL语句和建立索引。

这次碰到的问题我也是在这条路上来来回回绕了很久,一条简单的语句要执行10多秒。

后来把部署的数据库拷贝到本机一份测试,同样的执行计划,本机零点几秒就能执行完了。想了想,才想到可能是配置的问题。

搜索了一下,把最终更新的配置记录一下,这些配置和系统内存大小关系很大,我这里使用的系统是32GB内存的服务器,上面除了数据库还跑了一些其他应用。

set global key_buffer_size=134217728
set global bulk_insert_buffer_size=16*1024*1024
set global max_allowed_packet=3*1024*1024
set global sort_buffer_size=8*1024*1024
set global join_buffer_size=8*1024*1024
-- 提高读写的一次缓冲区大小
set global read_buffer_size=8*1024*1024
set global read_rnd_buffer_size=8*1024*1024

-- 影响比较大的参数,如果是专用的数据库服务器,可以使用整机内存的50%~80%
-- 提高这个值,会有更多的数据存储在内存中,效率自然高很多
set global innodb_buffer_pool_size=8192*1024*1024
-- 对以下两个值并没有找到完全合理的理论依据,所以可以不配置,使用默认值
#set global innodb_buffer_pool_instances = 1
#set global innodb_buffer_pool_chunk_size = 8192*1024*1024
set global table_open_cache=512
原文地址:https://www.cnblogs.com/mosakashaka/p/13639768.html