sort_buffer_size, Sort_merge_passes关系
对于事务性工作负载是通常最快这个大小设置为32K,并且也是允许的最小尺寸。您应该谨慎使用它设置为较大的值,因为这可以很容易地降低性能。
如果所有的数据进行排序不适合在指定缓冲区大小的MySQL第一种类尽可能多的数据将适合,那批写入磁盘。接下来,它排序另一批和写入操作。然后执行这些和所需的所有其他批次的基于磁盘的归并排序,使用磁盘的三个临时文件这一点。这个过程是有效的,但对于大型查询可以使用SET SESSION sort_buffer_size = 128 * 1024用于增加查询运行sort_buffer_size的值之前的会话;例如使用128K的排序缓冲器。 * 1024是有方便,因为交互式客户端不支持k或m后缀,可以在配置文件中使用。
在基于磁盘的排序方法中使用合并的数量被报告在状态变量Sort_merge_passes,购自SHOW GLOBAL STATUS; 。如果在正常生产中使用一段时间后,所报告的值是0可以肯定的是sort_buffer_size的值值不是太小,一个很好的迹象,这很可能是太大。在实践中人们往往将其设置为比最佳的许多工具更大的不恰当建议增加它的值。不要只是sort_buffer_size的值增加,直到Sort_merge_passes是0。这几乎肯定会产生大小比最快的代价大得多。对于非常鲁莽,力求有一个繁忙的服务器上每正常运行时间的第二个至少几Sort_merge_passes。可能还有更多。为了更准确,你需要你的标杆查询和建议结合你的实际。
对于常见的Linux内存分配方法用于分配存储器可以改变到较慢的方法超过256K 512K或和2M的尺寸。才去对这些阈值之一,您应该使用特别注意,内存分配成本可能大大超过刚好低于阈值。
运行基准建议只读或大部分工作负载可以期待在Linux上使用一个32K sort_buffer_size的值,而不是256K 有 1-2%的性能提升。更大的尺寸比256K将有更大的副作用。好处将取决于使用的操作系统的内存分配器不同,但要以此为约很可能是适当的值很好的指导。
MySQL的5.6有LIMIT的查询只保留目前匹配缓冲限位行的优化。这避免了需要排序的整个结果集。如果您使用较大的排序缓冲区,以提高速度,经过的LIMIT查询可能会发现不再是有帮助的。
配置文件和服务器默认经常使用比用于事务处理的最优值更大的值。这样的值可以提高查询效率低下的表现,这是可能的,作为临时措施可能会发现一个或两个有用的MB的值,直到能够识别并调整涉及到的查询。如果实际应该运行查询,而不是设置全局值,使所有其他查询那种小数据量的慢之前设置会话值。
Linux的glibc的malloc的内部变量
在256K或512K的阈值是MALLOC_MMAP_THRESHOLD,其中的glibc malloc的从使用其堆使用MMAP改变点。这种规模之后分配时间可以大约慢40倍。所有会话缓冲受此影响,不只是排序缓冲器。
用glibc 5.4.23 malloc的调节变量在这些环境变量暴露开始:
MALLOC_TRIM_THRESHOLD_
MALLOC_TOP_PAD_
MALLOC_MMAP_THRESHOLD_
MALLOC_MMAP_MAX_
MALLOC_CHECK_
在极少数情况下,会发现启动MySQL调整如何释放malloc的内存之前是非常有用的调整一个或多个的这些。我们不建议这样的正常使用,只有当找到的默认方式有些不常见的问题是malloc的适用于特定工作负载。
sort_buffer_size, Sort_merge_passes关系的更多相关文章
- mysql 参数:[read_buffer_size] [sort_buffer_size] [read_rnd_buffer_size] [tmp_table_size]---图解
http://imysql.cn/2008_09_27_deep_into_mysql_sort_buffer http://my.oschina.net/realfighter/blog/36442 ...
- sort_buffer_size:
sort_buffer_size: 每个session 必须执行一个排序 分配一个 这个大小的buffer. sort_buffer_size 不特定的对于任何存储引擎适用于一般的优化方式. sort ...
- More on understanding sort_buffer_size
There have been a few posts by Sheeri and Baron today on the MySQL sort_buffer_size variable. I want ...
- myisam_sort_buffer_size vs sort_buffer_size
Q: I am MySQL on server with 6GB RAM. I need to know what is the difference between myisam_sort_buff ...
- Angular2入门系列教程3-多个组件,主从关系
上一篇 Angular2项目初体验-编写自己的第一个组件 好了,前面简单介绍了Angular2的基本开发,并且写了一个非常简单的组件,这篇文章我们将要学会编写多个组件并且有主从关系 现在,假设我们要做 ...
- 死磕内存篇 --- JAVA进程和linux内存间的大小关系
运行个JAVA 用sleep去hold住 package org.hjb.test; public class TestOnly { public static void main(String[] ...
- 页面中多个script块之间的关系
一:函数声明与函数定义表达式在函数调用间的区别 <script type="text/javascript"> doA(); var doA = function(a ...
- Android Ormlite 学习笔记2 -- 主外键关系
以上一篇为例子,进行主外键的查询 定义Users.java 和 Role.java Users -- Role 关系为:1对1 即父表关系 Role -- Users 关系为:1对多 即子表关系 下面 ...
- ASP.NET Core的路由[1]:注册URL模式与HttpHandler的映射关系
ASP.NET Core的路由是通过一个类型为RouterMiddleware的中间件来实现的.如果我们将最终处理HTTP请求的组件称为HttpHandler,那么RouterMiddleware中间 ...
随机推荐
- 使用mybatis框架实现带条件查询-多条件(传入Map集合)
我们发现我们可以通过传入javaBean的方式实现我们的需求,但是就两个条件,思考:现在就给他传入一个实体类,对系统性能的开销是不是有点大了. 现在改用传入Map集合的方式: 奥!对了,在创建map集 ...
- hibernate笔记
1.hibernate中的list()遍历方法和iterator()遍历方法之间的区别 1:返回的类型不一样,list()返回List, iterate()返回Iterator,2: 获取数据的方式不 ...
- 题解 UVa10791
题目大意 多组数据,每组数据给出一个正整数 \(n\),请求出一组数 \(a_1\cdots a_m\),满足 \(LCM_{k=1}^ma_k=n\) 且 \(\sum_{k=1}^ma_k\) 最 ...
- 聊聊rocketmq的ConsumeMode.CONCURRENTLY
序 本文主要研究一下rocketmq的ConsumeMode.CONCURRENTLY ConsumeMode.CONCURRENTLY rocketmq-spring-boot-2.0.4-sour ...
- AFL Fuzz安装及完成一次简单的模糊测试
关于AFL fuzz AFL fuzz是一个模糊测试工具,它封装了一个GCC/CLang编译器,用于对被测代码重新编译的过程中进行插桩.插桩完毕后,AFL fuzz就可以给其编译过的代码输入不同的参数 ...
- MySQL 详细解读undo log :insert undo,update undo
转自aobao.org/monthly/2015/04/01/ 本文是对整个Undo生命周期过程的阐述,代码分析基于当前最新的MySQL5.7版本.本文也可以作为了解整个Undo模块的代码导读.由于涉 ...
- 71: libreoj #10151 区间dp
$des$ https://loj.ac/problem/10151 $sol$ 区间dp $f_{i, j}$ 表示区间 $[l, r]$ 合并的最大值 枚举中间点 $k$ $f_{i, j} =m ...
- Spark-Streaming kafka count 案例
Streaming 统计来自 kafka 的数据,这里涉及到的比较,kafka 的数据是使用从 flume 获取到的,这里相当于一个小的案例. 1. 启动 kafka Spark-Streaming ...
- 关于简单的 FluentValidation 验证
FluentValidation : https://github.com/JeremySkinner/FluentValidation 关于为何要使用,因为微软自带的模型验证有点弱,还需要自己去写 ...
- 菜鸟学IT之分布式文件系统
作业来源:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/3310 1.目录操作 在HDFS中为hadoop用户创建一个用户目录(had ...