本文主要是介绍my.cnf配置文件调优,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
mysql数据库的性能调优首先要考虑的就是表结构设计,一个糟糕的设计模式即使在性能强劲的服务器上运行时,也会表现得很差。与设计模式相似,查询语句也会影响mysql的性能,应该避免写出低效的sql查询语句。最后要考虑的就是参数优化,mysql数据库默认设置的性能非常差,只能起到功能测试的作用,不能在生产环境中运行,因此要对一些参数进行调整。
per_thread_buffers参数调优
我们可以将per_thread_buffers理解为Oracle的PGA(程序全局区域)为每个连接到mysql的用户进程分配的内存。其包含的参数及说明具体如下。
read_buffer_size:用于设置对表进行顺序扫描时每个线程分配的缓冲区大小。比如,在进行全表扫描时,mysql会按照数据的存储顺序依次读取数据块,每次读取的数据块会先暂存在read_buffer_size中,在缓冲区空间被写满或者数据全部被读取后,再将缓冲区中的数据返回给上层调用者,以提高效率。read_buffer_size的默认值为128KB。不要将这个参数设置得过大,一般在128KB~256KB即可。
read_rnd_buffer_size:用于设置对表进行随机读取时每个线程分配的缓冲区大小。比如,按照一个非索引字段做order by排序操作时,就会利用这个缓冲区来暂存读取的数据。read_rnd_buffer_size的默认值为256KB。不要将这个参数设置得过大,一般在128KB~256KB即可。
sort_buffer_size:在对表进行order by和group by排序操作时,由于排序的字段没有索引,因此会出现“Using filesort”。为了提高性能,可用此参数增加每个线程分配的缓冲区大小。sort_buffer_
这篇关于my.cnf配置文件调优的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!