专栏首页性能与架构mysql join和sort的buffer

mysql join和sort的buffer

参数查看命令

SELECT @@join_buffer_size;

SELECT @@sort_buffer_size;

join_buffer_size

当join类型是ALL,index,rang或者Index_merge的时候就是在使用buffer

参与join的每一个表都需要一个join buffer

系统默认值是128KB

sort_buffer_size

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

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

系统默认大小时2MB

优化建议

可以适当增大 join_buffer_size 到 1MB 左右,如果内存充足可以设置为2MB

对于 sort_buffer_size 来说,一般设置为 4MB 可以满足大多数需求

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

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

本文分享自微信公众号 - 性能与架构(yogoup),作者:杜亦舒

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2015-09-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 使用Redis统计活跃用户

    统计活跃用户这个案例非常经典,也是我当时学习redis时,接触到的第一个让我眼睛一亮的使用方式 场景 用户登录后需要记录,以便以后进行登录统计 统计需求主...

    dys
  • 分布式事务方案 - TCC

    TCC是支付宝提出的分布式事务解决方案,是 try、confirm、cancel 的缩写。

    dys
  • MySQL8 的 Hash join 算法

    以前 MySQL 的 join 算法只有 nested loop 这一种,在 MySQL8 中推出了一种新的算法 hash join,比 nested loop...

    dys
  • C语言实现数组的循环左移,右移,翻转

    morixinguan
  • 如何在windows下和linux下获取文件(如exe文件)的详细信息和属性

    最近在项目开发中,由cs开发的exe的程序,需要自动升级,该exe程序放在linux下,自动升级时检测不到该exe程序的版本号信息,但是我们客户端的exe程序需...

    业余草
  • GNU emacs Lisp小结3

    chapter4 与缓冲区有关的函数 4.1 查找更多的信息 C-h f 函数名   ;查询函数 C-h v 变量名   ;查询变量 find-tags 函数 ...

    py3study
  • [C语言]统计字符串数字字母空格以及其他字符的个数

    雨落凋殇
  • EMLOG无插件实现网站源码压缩

    在以往的Emlog优化教程中,相信都是使用的代码压缩插件,今天主要是分享插件的代码版本,也就是不使用插件,直接将代码丢在module.php中就可以,好吧,又消...

    似水的流年
  • getline();和reserve();

    getline() 语法: istream &getline( char *buffer, streamsize num ); istre...

    用户4492257
  • EMLOG无插件实现网站源码压缩

    在以往的Emlog优化教程中,相信都是使用的代码压缩插件,今天主要是分享插件的代码版本,也就是不使用插件,直接将代码丢在module.php中就可以,好吧,又消...

    似水的流年

扫码关注云+社区

领取腾讯云代金券