暂无图片
tmp_table_size ,sort_buffer_size 有啥区别
我来答
分享
暂无图片 匿名用户
tmp_table_size ,sort_buffer_size 有啥区别

tmp_table_size ,sort_buffer_size 有啥区别?

都是排序相关的



sort_buffer_size ,如果排序需要的空间,超过了,参数的大小后,会发生什么?会异常到磁盘还是临时表空间中继续排序?


tmp_table_size 什么时候使用这个参数分配的空间,当sort_buffer_size 不够,就开始使用tmp_table_size大小的空间吗?

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
AllenLV

sort_buffer_size不够用时,并不是直接使用tmp_table_size大小的空间,而是将数据溢出到磁盘上的临时表空间。tmp_table_size更多地是控制临时表和索引在内存中的最大使用空间,而不是直接用于排序操作。

如果需要进行大量排序操作,可能需要增加sort_buffer_size的值来提高性能,同时也要注意tmp_table_size的配置,以避免因临时表空间不足而导致的磁盘I/O增加。

暂无图片 评论
暂无图片 有用 2
DBA实战

tmp_table_size 参数控制着 MySQL 在执行查询时创建的内部临时表的最大大小。当查询处理器需要创建一个临时表来存储中间结果时,就会使用这个设置。这个设置对于那些需要执行大量数据处理的查询尤其重要,例如涉及多表连接或 GROUP BY 操作的查询。

sort_buffer_size 参数控制着排序操作时使用的缓冲区大小。当执行 ORDER BY 或者 DISTINCT 操作时,MySQL 会使用这个设置来分配内存空间来排序数据。

暂无图片 评论
暂无图片 有用 3
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏