1,我们知道,客户端发起一个线程会开辟一些内存,这些内存由sort buffer何join buffer等组成!假设global variable中的这些值加起来为8M, 我想问的是mysql分配这些内存的行为,是线程一发起就开辟这8M的内存,还是用到什么buffer,分配什么buffer?比如,sql里需要在内存中排序时,才分配sort buffer?2, 在开发过程中,我希望遇到一些特定的语句时设置临时变量,这样是否合理?
比如对于一个有排序的语句,在连接数据库后,先执行set sort_buffer_size = 8388608;以便让该语句更好的利用内存进行排序!
这样是否合理呢?