百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>数据库> mysql sort buffer和join buffer学习笔记
分享文章到:

mysql sort buffer和join buffer学习笔记

发布时间:01/15 来源: 浏览: 关键词:
本文章来给各位同学介绍关于mysql sort buffer和join buffer学习笔记,希望此笔记对大家会有所帮助吧。

相关参数查看命令

SELECT @@join_buffer_size;

SELECT @@sort_buffer_size;

==========================================================================================

join_buffer_size

当我们的join是ALL,index,rang或者Index_merge的时候使用的buffer。

实际上这种join被称为FULL JOIN。

实际上参与join的每一个表都需要一个join buffer。

所以在join出现的时候,至少是2个。

join buffer的这只在mysql5.1.23版本之前最大为4G,但是从5.1.23版本开始,再出了windows之外的64为平台上可以超出4GB的限制。

系统默认是128KB。

==========================================================================================

sort_buffer_size

sort buffer是系统中对数据进行排序的时候用到的Buffer。

sort buffer同样是针对单个线程的,所以当多个线程同时进行排序的时候,系统中就会出现多个sort buffer。

我们一般可以通过增大sort buffer的大小来提高order by或者group by的处理性能。

系统默认大小时2MB,最大限制和join buffer一样。

==========================================================================================

优化建议

如果应用中,很少出现join语句,则可以不用太在乎join_buffer_size参数的设置大小。

如果join语句不是很少的话,个人建议可以适当增大join_buffer_size到1MB左右,如果内存充足可以设置为2MB。

对于sort_buffer_size来说,一般设置为2-4MB可以满足大多数应用的需求。

当然,如果应用中的排序都比较大。内存充足却并发量不是特别大的时候,也可以继续增大sort buffer size的设置。

最后需要注意的是,每一个线程都会创建自己独立的buffer而不是整个系统共享,所以设置的值过大会造成系统内存不足。

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有6人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板