如何理解MySQL中per_thread_buffers优化-创新互联
如何理解MySQL中per_thread_buffers优化,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
为铁锋等地区用户提供了全套网页设计制作服务,及铁锋网站建设行业解决方案。主营业务为成都网站制作、成都网站设计、铁锋网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远! 对于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优化-创新互联
URL链接:http://ybzwz.com/article/pjiss.html