mysql中join_buffer_size的建议最大值是多少?

Raf*_*shi 7 mysql sql

我正在根据这个问题的答案给出的建议来优化我的临时数据: Mysql tmp_table_size max_heap_table_size

mysql join_buffer_sizesort_buffer_sizemysql 的推荐值是多少?

我的实际价值是:

join_buffer_size: 128 Kio;
sort buffer size: 512 Kio;
Run Code Online (Sandbox Code Playgroud)

Ran*_*eed 11

在一般情况下,无法回答您的问题.这实际上取决于您的查询的配置文件.检查手册,了解它们的用途,并且正确地说:

(sort_buffer_size)

将其设置为大于全局所需的大小将减慢大多数排序的查询.最好将其作为会话设置增加,并且仅适用于需要更大尺寸的会话.在Linux上,存在256KB和2MB的阈值,其中较大的值可能显着减慢存储器分配(...).尝试为您的工作量找到最佳价值.

(join_buffer_size)

设置缓冲区大于保存每个匹配行所需的增益没有任何好处,并且所有连接至少分配最小大小,因此在全局设置此变量时要小心.最好保持全局设置较小,仅在进行大型连接的会话中更改为更大的设置.如果全局大小大于使用它的大多数查询所需的内存分配时间,则会导致性能大幅下降.