如何理解MySQL中per_thread_buffers优化

如何理解MySQL中per_thread_buffers优化,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

成都创新互联公司提供成都网站设计、成都做网站、网页设计,成都品牌网站建设1元广告等致力于企业网站建设与公司网站制作,10年的网站开发和建站经验,助力企业信息化建设,成功案例突破超过千家,是您实现网站建设的好选择.

 对于per_thread_buffers,可以理解为Oracle的PGA,为每个连接到MySQL的用户进程分配的内存,包括以下几个参数:
1、read_buffer_size
 该参数用于表的顺序描述,表示每个线程分配的缓冲区的大小。比如,在进行全表扫描时,MySQL会按照数据的存储顺序依次读取数据块,每次读取的数据块首先会暂存在per_thread_buffers中,当buffer空间被写满或者全部数据读取结束后,再将buffer中的数据返回给上层调用者,以提高效率,默认为128KB,一般在128KB-256KB。
2、read_rnd_buffer_size
 该参数用户表随机读取,表示每个线程分配的缓冲区大小。比如,按照一个非索引字段做order by排序操作时候,就会利用这个缓冲区暂存所读取的数据。默认为256KB,一般为128KB-256KB。
3、sort_buffer_size
 表在进行order by和group by 排序操作时,由于排序的字段没有索引,会出现using filesort,为了提高性能,可用此参数增加每个线程分配的缓冲区大小,默认为2MB,不用太大,一般为128KB-256KB。
4、thread_stack
 该参数表示每个线程的堆栈大小。默认为182KB,64系统设置为256KB即可。
5、join_buffer_size
 表进行join连接操作时,如果关联的字段没有索引,会出现using join buffer,为了提高性能,可用此参数增加每个线程分配的缓冲区大小。默认为128KB。一般为128KB-256KB,出现using join buffer时候要增加索引来解决。
6、binlog_cache_size
 数据库中没有什么大事务,写入也不是特别频繁,将其设置为1-2MB即可,如果有很大的事务,可以适当增加这个缓存值,以获得更好的性能。
7、max_connections
 最大连接数,默认为100,一般设置为512-1000即可。

关于如何理解MySQL中per_thread_buffers优化问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。

当前题目:如何理解MySQL中per_thread_buffers优化
文章源于:https://www.cdcxhl.com/article18/igssgp.html

成都网站建设公司_创新互联,为您提供小程序开发动态网站域名注册网页设计公司品牌网站设计服务器托管

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都做网站